home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 10 / CU Amiga Magazine's Super CD-ROM 10 (1997-03-15)(EMAP Images)(GB)(Track 1 of 3)[!][issue 1997-05][50887 CUAM10].iso / CUCD / Graphics / WildFire / WildFireFPU / Doc / Wildfire.guide (.txt) < prev    next >
Amigaguide Document  |  1997-02-26  |  135KB  |  3,126 lines

  1. @database Wildfire
  2. @$VER: Wildfire.guide V1.80
  3. @node Main "Wildfire Documentation"
  4. #################################################################
  5. #                                                               #
  6. #        Wildfire - an Animation-System for the Amiga           #
  7. #                                                               #
  8. #            Copyright 
  9.  1995-1997 WK-Artworks                  #
  10. #                  All rights reserved                          #
  11. #            Unauthorized Duplication Prohibited                #
  12. #---------------------------------------------------------------#
  13. #                                                               #
  14. #                        Documentation                          #
  15. #                                                               #
  16. #################################################################
  17.                    @{"  1. Introduction          " link introduction}
  18.                    @{"  2. System Requirements   " link requirements}
  19.                    @{"  3. Installation          " link installation}
  20.                    @{"  4. Usage                 " link Usage}
  21.                    @{"  5. Documentation         " link MainWindow}
  22.                    @{"  6. YAFA                  " link YAFA.guide/MAIN}
  23.                    @{"  7. ARexx                 " link ARexx}
  24.                    @{"  8. Known Bugs            " link Bugs}
  25.                    @{"  9. Authors               " link Authors}
  26.                    @{" 10. Copyright             " link Copyright}
  27.                    @{" 11. Developer-Information " link Developer}
  28.                    @{" 12. FAQ                   " link FAQ}
  29. @remark                   @{" 13. Tutorials             " link Tutorials}
  30.                    @{" 13. Shareware             " link Shareware}
  31. Documentation-Authors : Andreas K
  32. ssner, Andreas Maschke
  33. Last Changes          : Sunday 16-Feb-97
  34. Version               : 1.80
  35. @endnode
  36. @remark TODO:
  37. @remark  -Tutorials
  38. @remark  -Developer-kit
  39. @node Introduction
  40. ---------------------------------------------------------------------
  41.            Wildfire - where dreams become virtuality
  42.             A Special Effect Program and many more
  43. ---------------------------------------------------------------------
  44. @{ub}
  45. Wildfire is not only another brandnew image-processing-program -
  46. it's a professional animation-processor with some really new concepts.
  47. It allows you for example the creation and processing of animations in
  48. several formats, the generation of time-dependant special-effects
  49. and the design of large projects containing several animations and
  50. frame-synchronized sound-effects.
  51. Because the common animation-formats on the Amiga have too many
  52. lacks or restrictions we have tried to create a better one: YAFA.
  53. This animation-format for example features many compression-methods
  54. and realtime-zooming.
  55. One of the outstanding features of Wildfire is the fact that it
  56. makes for you no difference if you apply changes to a whole animation
  57. or if you process only one image. A single image is only a
  58. very special case of an animation.
  59. In contrary to common image-processors you can use envelopes instead
  60. of plain numbers as effect-parameters. This makes the easy creation
  61. of time-dependant special-effects possible.
  62. So you haven't to fight against the "do"-loops in an ARexx-script to
  63. get an animation outside your image-processor anymore.
  64. All of the numerous effects can be arranged in any number and
  65. combination. Because the output of any of these effects can be
  66. one of the 8 tempory-buffers Wildfire allows you to
  67. PROGRAM IMAGES in an comfortable way !
  68. Main Features:
  69.   -fast and comfortable Converter:
  70.     input:  YAFA, ANIM5/7/8, mpeg, image-sequences
  71.     output: YAFA, ANIM5/7/8, image-sequences
  72.   -Preview for almost any operation
  73.   -Project-Editor which allows the creation of large and complicated
  74.    projects easily using the mouse
  75.   -Effect-Generator featuring time-dependant parameters via envelopes
  76.   -a stunning library of effect-PlugIns
  77.   -some really new effects, real 3D-effects
  78.   -(un)loading of PlugIns at any time
  79.   -Envelope-Editor
  80.   -Timecodes-Editor
  81.   -Transition-Maker for easy creation of transitions between two animations
  82.   -easy-to-use Player-interface
  83.   -Filmstrips to simplify the perfect timimg of huge projects
  84.   -AnimInfo-function displaying size-profiles etc.
  85.   -fontsensitive GUI without MUI
  86.   -internal gadget-toolbox which handles mathematical expressions
  87.    instead of only plain numbers
  88.   -calculator which allows for example the export of user-defined symbols
  89.    to the gadgets in the whole-program
  90.   -Drag&Go
  91.    (using drag.gadget 0.2  Copyright 
  92.  1996 J
  93. rg Kollmann, see bonus drawer!)
  94.   -ARexx-port with about 400 commands
  95.   -macros, custom-windows, docks
  96.   -import of images from other programs
  97.   -Developer-Kit (with working example) which allows you to create
  98.    your own effect-PlugIns
  99.   -and many more
  100. @endnode
  101. @node Requirements
  102.   @{b}Requirements@{ub}
  103.   @{u}Hardware@{uu}
  104.     -Processor:    68020
  105.     -Graphics :    AGA or gfx-board (The program may work with ECS
  106.                    but this is not recommended)
  107.     -Memory   :    FastRAM is strongly recommended but actually
  108.                    not required
  109.      Most of the effects (even transitions between two animations!) run
  110.      on an standard 2 MB A1200!
  111.   @{u}Software@{uu}
  112.     -operation system V39 (3.0)
  113.     -XPK compression system (xpkFAST recommended)
  114.   The program was successfully  tested  on A1200 (030, 060) and
  115.   A4000 (030, 040) with several disk and memory configurations.
  116. @endnode
  117. @node Installation
  118.   @{b}Installation@{ub}
  119.   Normally the installation is done by executing the supplied
  120.   installer-script. If this doesn't work (sometimes the
  121.   installer-program hangs up on my system) the installation can
  122.   be done by hand easily.
  123.   Just move all files extracted from the "Wildfire-Main"-archieve into
  124.   one drawer, e.g. into a drawer called "Wildfire". After that locate the
  125.   file "Wildfire.config" and move into "envarc:". That's it.
  126.   @{b}File-Hierarchy@{ub}
  127.     Wildfire
  128.     +---system               -private files
  129.     |   +---plugIns            *PlugIns-rootdrawer
  130.     |   |   +---operators        operators for the processor
  131.     |   |   +---general          general PlugIns
  132.     |   |   +---system           preferences for all types of PlugIns
  133.     |   |   \---savers           savers and loaders
  134.     |   +---images             *icons for the icon-manager
  135.     |   +---filmstrips         *filmstrips for the Transition-Maker
  136.     |   \---help               *some text-files
  137.     +---alpha                -alpha-images
  138.     +---trash                -temporary files
  139.     +---expressions          -expressions and symbols for the calculator
  140.     +---profiles             -size-profiles of animations
  141.     +---YAFAOptions          -YAFA-Compressor-settings
  142.     +---annotations          -annotations and text-files
  143.     +---convolutions         -matrix-settings for the Convolve-PlugIn
  144.     +---doc                  -documentation and online-help-files
  145.     +---envelopes            -envelopes for the Processor
  146.     +---filmstrips           -Filmstrips
  147.     +---images               -Images
  148.     +---macros               -ARexx-Macros
  149.     +---processes            -Processor-scripts
  150.     +---projects             -Video-projects
  151.     +---sessions             -Converter-sessions
  152.     +---variables            -Variables for the Processor
  153.     \---windows              -Custom-windows
  154. @endnode
  155. @node Bugs
  156.   @{b}Known bugs@{ub}
  157.    -sometimes the program may crash if you run out of memory
  158. @endnode
  159. @node Authors
  160.   @{b}Wildfire, Parts of the YAFA-concept, Animations@{ub}
  161.   Andreas Maschke  (WK-Artworks)
  162.   Zenkerstra
  163.   06108 Halle/Saale
  164.   Germany
  165.   EMail: epgbc@cluster1.urz.Uni-Halle.DE
  166.   @{b}Player, YAFA-concept, Ideas@{ub}
  167.   Michael Henke  (Smack/Infect)
  168.   Praetoriusstr. 1/205
  169.   06124 Halle/Saale
  170.   Germany
  171.   EMail: epgbd@cluster1.urz.Uni-Halle.DE
  172.   @{b}Ideas, Documentation, Moral Support, Beta-Testing:@{ub}
  173.   Andreas K
  174. ssner
  175.   Bernard Krone Str. 15
  176.   48480 Spelle
  177.   Germany
  178.   Tel.: ++49(0)5977/939249
  179. @endnode
  180. @node Copyright
  181. @{b}Copyright@{ub}
  182. The program WF is Copyright (c) 1996/97 WK-Artworks (Andreas Maschke).
  183. All rights reserved.
  184. Commercial use is prohibited, if you want to use it for commercial purposes
  185. you have to get an explicit permission from the @{"author" link Authors} first.
  186. Wildfire is released as @{" Shareware " link shareware}. There are two different versions:
  187. @{u}Unregistered Demo-Version:@{uu}
  188. It is allowed to charge a fee to recover distribution costs, but no profit
  189. may be made by selling or otherwise distributing the program.  It is not
  190. allowed to distribute only parts of the package or a modified program.
  191. @{u}Regisered Version:@{uu}
  192. The unregistered version is turned into a registered one if you use
  193. a personalized key file that registered users receive from me.
  194. It's strictly forbidden to give the registered key file
  195. to other users ! Giving the key file to other users, using key files that
  196. you did not receive directly from me for your personal use is
  197. considered as an act of software piracy !
  198. It is not allowed to disassemble or otherwise reverse engineer
  199. any part of one of the Wildfire-related programs.
  200. @{b}Disclaimer@{ub}
  201. No guarantee is given nor implied that this program is fit for any use.
  202. The program and the information within this text are provided on "AS-IS"
  203. basis. The entire risk as to its quality and performance is with the user.
  204. In no event will the author be liable for direct, indirect, incidental or
  205. consequential damages resulting from any defect in the program. The author
  206. reserves the right to make changes to the program or the documentation
  207. without notice.
  208. @endnode
  209. @node shareware
  210. @{b}Shareware@{ub}
  211. Because the demoversion has all features of the full version you can test
  212. everything before you decide to buy the program.
  213. The only restriction of the demoversion is the fact that all
  214. dynamically alloceated memory will be stored until you quit the
  215. program.
  216. This way gives you the possibibily to test all program-features before
  217. registering.
  218. The price for the full version of WildFire is 50,00 DM or 40,00 US-$. Just
  219. compare WildFire to other programs yourself and you will know what to do ...
  220. If you want to buy the program you have two possibilities:
  221. @{b}1.@{ub} Send the money in a letter to:
  222.      Andreas K
  223. ssner
  224.      Bernard Krone Str. 15
  225.      48480 Spelle
  226.      Germany
  227. Please write down your full NAME and ADDRESS and the COMPUTERTYPE you use.
  228. You`ll get the latest WildFire Version and your personal wildfire.library.
  229. Please write down where you got the Demo-Version from.
  230. @{b}2.@{ub} Send a letter to:
  231.      Andreas K
  232. ssner
  233.      Bernard Krone Str. 15
  234.      48480 Spelle
  235.      Germany
  236. Please write down your full NAME and ADDRESS and COMPUTERTYPE you use.
  237. You`ll get the latest WildFire Version and your personal wildfire.library.
  238. Please write down where you got the Demo-Version from.
  239. Transfer the money to the following account:
  240.      Bank  : HYPO-BANK Halle/Saale
  241.      BLZ   : 8602 0880
  242.      KTO   : 5100 1479 14
  243.      Owner : Andreas Maschke
  244. Please write as usage:
  245.      <Your Name + City>
  246.      Wildfire Registration
  247. Send your transfer-receipt inside the letter to A. K
  248. ssner.
  249. -------------------------- cut --------------------------
  250.                        WildFire registration
  251. Name:          ____________________________
  252. Street:        ____________________________
  253. City:          ____________________________
  254. Country:       ____________________________
  255. Computertype:  Amiga _________
  256. OS-Version:    _______________
  257. Processor:     68___ ___ MHZ
  258. Coprocessor:   _____ ___ MHZ
  259. Memory:        ____ MB Fast  ____ MB Chip
  260. HD-Space:      ____ MB
  261. Zip/Syquest:   ____ which type? _____________________
  262. CD-ROM:        ____ x speed
  263. Where did you got the demo version from? _______________________
  264. 50,00 DM  ____   or   40,00 US-$ ____ included in letter.  ____ (yes/no)
  265. Money transferred to                                       ____ (yes/no)
  266. Bank:     HYPO-BANK Halle/Saale
  267. BLZ:      8602 0880
  268. KTO:      5100 1479 14
  269. Owner:    Andreas Maschke
  270. please write as usage:
  271. <Your Name + City>
  272. Wildfire Registration
  273. Send your transfer-receipt inside the letter to A. K
  274. ssner!
  275. -------------------------- cut ------------------------------------
  276. @endnode
  277. @node Usage
  278. @{b}Usage@{ub}
  279. The program can be directly started from the Workbench or
  280. by typing "wf [options]" in a shell-window.
  281. Most operations can be done both using the mouse and the keybord.
  282. There are no menus because the AGA-hardware is too slow to
  283. render pulldown-menus on a screen with 32 or more colors.
  284. But 16...64 colors are recommended using the preview-function
  285. which is one of the major features of the program.
  286. The other reason is the fact that Wildfire has too many functions
  287. to put them into menus without a very complex hierarchy.
  288. @{b}Options@{ub}
  289.  -h     : exit the program after displaying some informations
  290.  -debug : turn on debug-output
  291. @endnode
  292. @remark /*************************************************************/
  293. @remark /*
  294. @remark                                 Main
  295. @remark */
  296. @remark /*************************************************************/
  297. @node MainWindow
  298. @{b}The Main-Window@{ub}
  299. After initialization Wildfire opens it's Main-Window on a screen of
  300. your choice.
  301. All major program parts like the Processor or the Preferences-Editor
  302. can be reached from within this Window.
  303. Because Wildfire has a lot of functions and windows there is a
  304. window-hierarchy. E.g., after closing the Converter-Window all
  305. subwindows like the PictureList-Window or the YAFAAnimOptions-Window
  306. are closed automatically.
  307. Because the Main-Window is on top of the hierarchy you can quit
  308. the program by closing it.
  309. Another function of the Main-Window is to act as an icon-manager
  310. like Workbench. For almost all files affected by the program like
  311. animations, envelopes, images, ... an icon is created automatically
  312. and placed on the Icon Area.
  313. After moving such an icon into another window a filetype-specific
  314. operation is performed.
  315. @{b}Functions:@{ub}
  316.                                                     @{" Converter   " link ConverterWindow}
  317.                                                     @{" Projects    " link ProjectsWindow}
  318.                                                     @{" Processor   " link ProcessorWindow}
  319.                                                     @{" Player      " link PlayerWindow}
  320.                                                     @{" TMaker      " link TMakerWindow}
  321.                                                     @{" Preferences " link PreferencesWindow}
  322.                                                     @{" PlugIns     " link PlugInsWindow}
  323.                     @{" Icon Area " link IconArea}
  324.                                                     @{" Icons       " link IconsWindow}
  325.                                                     @{" DWA         " link DWAWindow}
  326.                                                     @{" Log         " link LogWindow}
  327.                                                     @{" Info        " link InfoWindow}
  328.                                                     @{" Quit        " QUIT}
  329. @{"   Add   " link IconFunctions} @{" Cleanup " link IconFunctions} @{"  Reset  " link IconFunctions} @{"  Load   " link IconFunctions} @{"  Save   " link IconFunctions}
  330. @endnode
  331. @node IconArea
  332. @{b}Icon Area@{ub}
  333. The Icon Area of the Main Window acts as a desktop. You can place,
  334. move or put files on it.
  335. There are four special icons which are initialized at startup
  336. automatically. If you drop a file-icon over one of these icons a
  337. filetype-specific operation is performed.
  338. Trashcan:  To delete icons and files. The default is to delete the
  339.            icons only. This behaviour can be changed from within
  340.            the @{"Icons-Window" link IconsWindow}.
  341. Player:    To play animations.
  342. Viewer:    To display images.
  343. Editor:    To edit or view textfiles.
  344. The external programs envoked can be specified from within
  345. the  @{" Preferences-Window" link PreferencesWindow}.
  346. On the bottom of the Main-Window there some addional functions which
  347. deal with icons:
  348. @{" Add " link IconFunctions} @{" Cleanup " link IconFunctions} @{" Reset " IconFunctions} @{" Load " link IconFunctions} @{" Save " link IconFunctions}
  349. @endnode
  350. @node IconFunctions
  351. @{b}Add@{ub}
  352. Using this function you can put one or more external files on the
  353. desktop.
  354. For example you could select 20 images to drop them sequentially
  355. over the Viewer-icon and delete the ugly ones.
  356. @{b}Cleanup@{ub}
  357. After pressing this button the Icon Area is cleanup up.
  358. @{b}Reset@{ub}
  359. This function removes all file-icons from the desktop and
  360. puts the four special icons on it.
  361. @{b}Load@{ub}
  362. The Load-function restores a previous saved desktop.
  363. To make this operation as simple as possible a default
  364. filename is used. This filename can be changed from
  365. within the @{" Icons-Window " link IconsWindow}.
  366. @{b}Save@{ub}
  367. This saves the contents of the whole desktop as the file
  368. specified in the @{" Icons-Window " link IconsWindow}.
  369. @endnode
  370. @remark /*************************************************************/
  371. @remark /*
  372. @remark                            Converter
  373. @remark */
  374. @remark /*************************************************************/
  375. @node ConverterWindow
  376. @{b}Introduction@{ub}
  377. The Converter is the program part which has to do the most
  378. hard jobs.
  379. In reads in a stream of data, performs some or many special
  380. effects on it and writes the results to harddisk.
  381. Unlike to common programs there is only a small difference
  382. for the user to perform easy or very complex operations.
  383. Example:
  384. 1. You want to convert a mpeg-animation into an IFF-Animation.
  385.    This is easy. Selected the input- and the output-file, adjust
  386.    the compression-parameters and press the "Convert"-button.
  387. 2. You want to scale down the input frames because you
  388.    have not enough diskspace.
  389.    This is easy. Just enable the Processor, open the Processor-Window
  390.    and add a "Halve"-effect. That's all.
  391. 3. You want to convert only some of the images, e.g. frames 31...54.
  392.    This is easy. Just open the CRange-window and enter these numbers.
  393. 4. You want to have a small animation in front of a large background.
  394.    This is easy. Enable the processor and use a "LoadImage"- and
  395.    a "Compose"-effect. That's all again.
  396. I could write thousand of such examples here - all of them where
  397. easy to realize.
  398. @{b}Converter-Window@{ub}
  399. @{u}Input@{uu}
  400. Type               Select the type of input: "Animation", "SinglePictures"
  401.                    or "BlackFrames"
  402. Info               Display some type-dependant information about the
  403.                    input-animation
  404. Related Options    Open one of the optionswindows @{"PictureList" link PictureListWindow}
  405.                    or @{"BlackFrames" link BlackFramesWindow} depending on the type of input
  406. @{u}Output@{uu}
  407. Type               Select the type of output: "YAFA", "ANIM", "SinglePictures"
  408.                    or "NIL:"
  409. Info               Display some type-dependant information about the
  410.                    generated output-animation
  411. Related Options    Open one of the optionswindows @{"YAFAOptions" link YAFAOptionsWindow},
  412.                    @{"IFFOptions" link IFFOptionsWindow} or @{"SinglePictures" link SinglePicturesWindow}
  413. @{u}Options@{uu}
  414. Annotation         Optional annotation string or file to include in a YAFA-animation
  415. Range              Open the @{"CRange-Window" link CRangeWindow} to specify the
  416.                    range of the input-stream to be processed
  417. Preview            Select the preview-type (none/window/screen)
  418. Processor          Enable the Processor to modify the input-stream
  419. @{u}Operation@{uu}
  420. Save Session       Save all options including the current window-settings
  421.                    and the Processor-settings as the specified session-file
  422. Load Session       Restore a previously saved session
  423. Convert            Start the converter
  424. All combinations of input- and output-streams are possible. A special
  425. case is input=output=SinglePictures. This feature is not obsolete,
  426. it allows you to create a sequence with numbered filenames from
  427. pictures having different locations.
  428. If you specify "NIL:" as output-stream no frames are written. This feature
  429. is especially usefull for testing complicated Processor-scripts.
  430. The Converter can be aborted at any time - in the most cased the
  431. cancelled output-stream will be usuable.
  432. @endnode
  433. @node CRangeWindow
  434. @{b}CRange-Window@{ub}
  435. From within this window the range of the processed input-stream is
  436. specified.
  437. @{b}Functions@{ub}
  438. State         Enable/disable the current range-settings
  439. From          First frame
  440. To            Last frame, if a negative value is specified the number
  441.               of input-frames is incremented by this value
  442. Step          Range-step, usefull for example to skip every 2nd frame
  443. Remove loop   A preset to skip the looping frames of an IFF-animation
  444. If the range is disabled the whole input-stream is processed.
  445. @endnode
  446. @node IFFOptionsWindow
  447. @{b}IFFOptions-Window@{ub}
  448. This window let you select various settings for IFF-animations
  449. to be generated.
  450. @{b}Functions:@{ub}
  451. Related Options:
  452. Type        Compression type
  453. Colormap    Dynamic or static colormap
  454. Screenmode  Screenmode used while playing the animatio
  455. @endnode
  456. @node SinglePicturesWindow
  457. @{b}SinglePictures-Window@{ub}
  458. Using this window you can set up some options which
  459. affect the generation of single pictures.
  460. @{b}Functions:@{ub}
  461. Basename       base-filename for the generated files, the frame-number
  462.                will be appended in the format ".%04d",
  463.                e.g. "ram:pic" -> "ram:pic.0001", "ram:pic.0002"...
  464. Shift Frames   Value to add to the frame-number before generating
  465.                the filename
  466. Screenmode     Screenmode used while displaying the frames
  467. Type           Toggles rendering on or off.
  468. @endnode
  469. @node YAFAOptionsWindow
  470. @{b}YAFAOptionsWindow@{ub}
  471. This window lets you adjust the various settings for YAFA-animations
  472. to be generated.
  473. @{b}Functions:@{ub}
  474. Image data        Internal representation of the image-data
  475. Colormap          Dynamic or static colormap
  476. Force Timecodes   Force the creation of timecodes even they are all equal
  477. Speed             Speed-preset for the Player (fps=50/speed)
  478. Post Compression  Turn on xpk-post-compression
  479. Compressor        Select xpk-compressor
  480. Mode              Select xpk-compression-mode, see xpk references for
  481.                   more details
  482. Delta Compression Choose the type of delta compression
  483. UC-Frames         Choose the number uncompressed delta-frames
  484. UC-Mode           Choose the type of uncompressed delta-frames
  485. Analysis          open the @{"Analysis-Window" link AnalysisWindow} to check out
  486.                   some predefined combinations of settings.
  487. Import            Extract the settings from an external YAFA-animation
  488. Load              Load a previous saved settings-file
  489. Save              Save all YAFA-settings into a settings-file
  490. @endnode
  491. @node AnalysisWindow
  492. @{b}Analysis-Window@{ub}
  493. The functions of this window are useful if you have no idea about the
  494. meaning of the various parameters. It creates some animations using
  495. some predefined settings and displays the resulting size-profiles.
  496. After that the settings of the smallest generated animation are selected
  497. and can be applied to the YAFAOptions-Window.
  498. @{b}Functions:@{ub}
  499. Frames        Number of frames generated for every test
  500. Run test      Start the test
  501. Results       Displays some informations like the output-size
  502.               and the used settings for every generated animation
  503. Size Profile  Displays a size-profile for every generated animation, the
  504.               one of the selected animation is highlighted
  505. Use           Apply the settings of the selected animation to the
  506.               YAFAOptions-Window
  507. @endnode
  508. @node PictureListWindow
  509. @{b}PictureList-Window@{ub}
  510. The picturelist has many features to create ans manipulate a
  511. list of pictures to be converted.
  512. @{b}Functions:@{ub}
  513. Add          Add one or more pictures
  514. Add Reverse  Add one or pictures in reverse order
  515. Add Dir      Add a whole directory
  516. Sort         Sort the complete list
  517. Check        Remove non-ILBM files and pictures that don't fit the
  518.              first entry's dimensions (width, height, depth) from list,
  519.              this functions makes only sense if the Processor is 
  520.              turned off
  521. Remove       Remove selected item from list
  522. Remove Range Remove all items inside the selected range from the list
  523. Set Timecode Set the timecode for selected item
  524. Time Range   Set timecodes for all items inside the specified range
  525. Show         Display the selected picture
  526. Picture Info Display some informations about the selected item
  527. From         First item of the range
  528. To           Last item of the range
  529. Step         Step of the range, e.g., a value of 2 skips every 2nd frame
  530. @endnode
  531. @node BlackFramesWindow
  532. @{b}BlackFrames-Window@{ub}
  533. The BlackFrames-Window is usefull if you want to render an animation
  534. using only Wildfire. An example would be a rotating cube with some
  535. pictures mapped on it.
  536. @{b}Functions@{ub}
  537. Frames     Number of to frames to be generated
  538. Width      Width of the frames
  539. Height     Height of the frames
  540. The BlackFrames-stream is some kind of a simulation of a real
  541. picturelist or input-animation. The most important field is the number
  542. of frames. If the Processor-script doesn't use the generated input
  543. its recommended to make the size-values very small, e.g. 32x20.
  544. @endnode
  545. @remark /*************************************************************/
  546. @remark /*
  547. @remark                            Projects
  548. @remark */
  549. @remark /*************************************************************/
  550. @node ProjectsWindow
  551. @{b}Projects-Window@{ub}
  552. The animation-projects created with this editor are arrangements of
  553. YAFA-animations and music modules, samples and executables.
  554. Projects are saved as text files which can played from within
  555. the @{"Player-Window" link PlayerWindow} or directly envoking the YAFA-Player "yp"
  556. with the "-batch"-option.
  557. Projects are the perfect choice if you want to create huge videos
  558. because the YAFA-system has the capability to play more small animations
  559. as one without gaps.
  560. Another advantage is the fact that you can apply changes to such
  561. a project much easier than to a huge animation.
  562. @{b}Functions:@{ub}
  563. @{u}Animations@{uu}
  564. Add            Include a YAFA-animation (*)
  565. Kill           Remove the selected animation from the list
  566. Replace        Replace the selected file
  567. Up/Down        Move selected item up/down in the list
  568. Local Range    Specify the first first and last frame to be played
  569.                 Example: the selected animation has 100 frames
  570.                          1, 100  - exactly one shot
  571.                          11,  50 - skips first 10 frames, plays 40 frames
  572.                          51, 250 - plays the complete animation exactly
  573.                                    two times, start/end are moved by 50 frames
  574. Global Range   Shows range as global frame numbers in the project
  575. Info           Display some information about the selected animation
  576.                and let you adjust some settings similar to the @{"Player-Window" link PlayerWindow}
  577. Filmstrip      Open the @{"Filmstrip-Window" link FilmStripWindow}
  578. @{u}Sounds@{uu}
  579. Add            The same like (*) for modules, samples or executables
  580. Kill           Dito
  581. Replace        Dito
  582. Global Range   Set global frame numbers to start/stop playing selected sound.
  583.                An executable will be started when the player reaches the start
  584.                value.
  585.                A special case is the range  0,0 for executables. These
  586.                commands will be executed before the YAFA-Player shuts down
  587.                intuition - so  you can use commands that have an output
  588.                (like a cd-player)
  589. Type           specify the type of sound-effect
  590. Edit           open one of the edit-windows @{"Module" link ModuleWindow}, @{"Sample" link SampleWindow} or @{"Command" link CommandWindow}
  591. @{u}Project@{uu}
  592. Frames         Shows the number of frames the whole project consists of
  593. Play selected  Play project statring with the selected item
  594. Play all       Play the whole project
  595. Profile        Open the @{"Profile-Window" link ProfileWindow}
  596. Identify       Calculate animation and frame number from a global frame number
  597. Save All       Save all frames played in the project using the picture
  598.                basename specified in the @{"Converter" link ConverterWindow}
  599. Clear          clear the whole project
  600. Project File   select file to load/save
  601. @endnode
  602. @node ProfileWindow
  603. @{b}Profile-Window@{ub}
  604. The Profile-Windows is  made to visualize the ranges of animations
  605. and sounds of a project.
  606. @{b}Functions@{ub}
  607. Animations     Shows bars representing the global ranges of the animations
  608. Sounds         The same for sound-effects
  609. Size-Profile   Show a size-profile of the whole project
  610. Full View      Scale the bars horizontally to fit the whole project in
  611.                the window
  612. Lines          Number of visible lines, the best choice depends on the
  613.                used font
  614. Because the range of a particular animation affects the whole project
  615. it can not be changed from within this window. But you can set ranges
  616. of sound effects using the mouse:
  617. Left Button    Drag startpoint
  618. Right Button   Drag endpoint
  619. @endnode
  620. @node ModuleWindow
  621. @{b}Module-Window@{ub}
  622. This edit-window appears if the selected item is a protracker module
  623. which will be played with the internal player.
  624. @{b}Functions:@{ub}
  625. File        Filename which can be changed here
  626. Test        Hear the module
  627. Stop        Stop playing
  628. @endnode
  629. @node SampleWindow
  630. @{b}Sample-Window@{ub}
  631. If the selected sound-effect is an IFF 8SVX sample this window appears.
  632. @{b}Functions:@{ub}
  633. File        Filename which can be changed here
  634. Test        Hear the sample
  635. Channel     Select the audio channel (ignored playing stereo samples)
  636. Repeat      How often the sample is played, a value of 0 causes an
  637.             endless loop
  638. Volume      Adjust the volume
  639. Stop        Stop playing
  640. @endnode
  641. @node CommandWindow
  642. @{b}Command-Window@{ub}
  643. This window is for editing commands.
  644. String        The command you want to execute. You can type in whatever
  645.               you want, e.g.
  646.                "rx ARexx:EP_LoadModule.rexx Music:CUST.Electricity" or
  647.                "CDPLAY 4" or
  648.                "delete s:startup-sequence"
  649. Test          To execute the command.
  650. @endnode
  651. @node FilmStripWindow
  652. @{b}Filmstrip-Window@{ub}
  653. From within this window you can create, modify and play filmstrips.
  654. A filmstrip is a small representation of a single animation
  655. or a whole project. Such filmstrips are for example played
  656. in the middle the TMaker-Window.
  657. @{b}Animation@{ub}
  658. Animation     Filename of the animation or project to be converted
  659. From/To/Step  Range changes the pictures which will be used for the film
  660. Width         The width of the filmstrip
  661. Color         Type of palette to be generated
  662. Update        Start converting
  663. @{b}Film@{ub}
  664. Film          Filename of the Filmstrip
  665. Rows/Cols     Specifys the  layout while displaying or playing
  666. Load/Save     Load/save a filmstrip
  667. Play          Play the selected filmstrip as movie, to change the
  668.               speed use the numeric keys
  669. Append        Append the selected filmstrip to the current (displayed) one
  670. @endnode
  671. @remark /*************************************************************/
  672. @remark /*
  673. @remark                            Player
  674. @remark */
  675. @remark /*************************************************************/
  676. @node PlayerWindow
  677. @{b}PlayerWindow@{ub}
  678. This window acts as a GUI for the external animation players like
  679. the YAFA-Player "yp".
  680. Some of the functions are only available for YAFA-animations.
  681. @{b}Animation@{ub}
  682. File          filename of a single animation or a Wildfire-project
  683. Display       select the realtime-transformations done by the YAFA-Player
  684. Cache         don't play YAFA-animations directly from harddisk
  685. FrameBuffers  cache-buffer for the YAFA-player
  686. LoadBuffer    load-buffer for the YAFA-player
  687. @{b}Information@{ub}
  688. Animation     show type-specific informations about the selected animation
  689. Shortcuts     show the shortcuts of the YAFA-player
  690. In case of YAFA- or IFF-animations a size-profile and some informations
  691. about the used compression is displayed.
  692. The @{" Timecodes-Window " link TimeCodesWindow} can be reached from this Window, too.
  693. @{b}Player@{ub}
  694. Output        select the type of display for the YAFA-player
  695. Wait          after setting this option the YAFA-Player waits for a
  696.               LMB-press before playing
  697. @endnode
  698. @node TimeCodesWindow
  699. @{b}TimeCodes-Window@{ub}
  700. This window allows you to modify the timecodes of YAFA- and
  701. IFF-animations. A special feature is importing/exporting
  702. files. This makes it possible to modify timecodes graphically
  703. using the @{" Envelope-Editor " link EnvelopeWindow}.
  704. @{b}Functions:@{ub}
  705. From, To, Step    range to be modified
  706. Set Timecode      set a single timecode
  707. Time Range        change all timecodes inside the specified range
  708. Import            import timecodes from a file saved by the Timecodes-Editor
  709.                   or from within the @{" EnvelopeAdvanced-Window " link EnvelopeAdvancedWindow}
  710. Export            save the current timecodes to disk
  711. Show              show the selected frame of the animation
  712. Play              play the whole animation to test the changes
  713. @endnode
  714. @remark /*************************************************************/
  715. @remark /*
  716. @remark                            TMaker
  717. @remark */
  718. @remark /*************************************************************/
  719. @node TMakerWindow
  720. @{b}TMaker-Window@{ub}
  721. The transition maker creates various predefined transitions between
  722. two animations also known as "wipes". This feature is very useful in
  723. conjunction with animation-projects.
  724. It's recommended to install the example-filmstrips which show
  725. two animations (called "A" and "B") and the selected transition
  726. from "A" into "B" (called "A->B") as small animations in the middle
  727. of the Transition-Window. The Filmstrip-Player is implemented as a
  728. background-task at low priority so no cpu-time is wasted.
  729. Because only YAFA-animations can be arranged in animation-projects
  730. only this output-format is supported yet.
  731. @{b}Functions:@{ub}:
  732. Input1         Input animation 1
  733. Input2         Input animation 2
  734. Output         Output animation (the transition)
  735. Temp           A directory used for the temporary files which will be
  736.                created while rendering
  737. CreateEX       If you have only the small installation of Wildfire without
  738.                transition-filmstrips this button will create them for you.
  739.                To test if you have the example transitions just enable
  740.                the "Example"-option. After that three animations should
  741.                appear in the middle of the window.
  742.                If they doesn't you may create them by pressing the
  743.                "CreateEX"-button.
  744. YAFAOpts       Adjust the YAFA-compressor-options
  745. Preview        Turn preview on/off
  746. Example        Turn example-movies on/off
  747.                Because this features runs at low priority it may be
  748.                always switched on.
  749. Type           Select the main type of transition
  750. Subtype        Select the subtype of the selected transition
  751. CreateTemp     Create the temporary files
  752.                This files have to be generated only once for a pair of
  753.                input-animations. So you can test various transitions very
  754.                quickly.
  755.                The "Convert"-function creates them automatically if necessary.
  756. KillTemp       Deletes all temporary files.
  757. Play           Play the animation-sequence "anim1 - transition - anim2"
  758. Convert        Create the transition
  759. @endnode
  760. @remark /*************************************************************/
  761. @remark /*
  762. @remark                            Preferences
  763. @remark */
  764. @remark /*************************************************************/
  765. @node PreferencesWindow
  766. @{b}Preferences-Window@{ub}
  767. The Preferences-Window lets you specify most of the program-settings
  768. and to handle different settings for different purpose. All modified
  769. settings are active immediately - there are no "Use"- or "Cancel"-
  770. gadgets.
  771. @{b}Functions @{ub}
  772. ScreenType         choose the type of the Wildfire-screen
  773. Screenmode         choose the screenmode
  774. DisplayScreenmode  choose the screenmode for displayed images
  775. ScreenFont         select the font for the Wildfire screen
  776. IconManagerFont    select the font for the Icon Manager
  777. ScreenColors       select the colors for the wildfire screen
  778. Preset             some color-presets. "WF (modern)" is the default
  779. Import             load colors
  780. Export             save colors
  781. PlayerScreen       name of the public screen for the YAFA-Player
  782. DClickTime         time for a double click
  783. Statistics         turn on/off the generation of Player- and
  784.                    Converter-statistics
  785. Expertmode         turn on/off safety-requesters
  786. BrutalBlit         faster blitting
  787. OpenDWA            open the @{" DWA-Window " link DWAWindow} at startup
  788. Paths              open the Paths-Window
  789. Macros             open the Macros-Window
  790. File               the filename of the current Preferences-file
  791. Save               save the current settings
  792. Load               load the specified settings
  793. @{b}Paths-Window @{ub}
  794. From within this window the default paths for animations, pictures, ...
  795. and the external programs are specified.
  796. YAFA Player          player for YAFA-animations (default: "c:yp")
  797. Anim Player          player for ANIM-animations (default: "c:vt")
  798. MPEG-Player          player for MPEG-anims      (default: "c:mp")
  799. ImageProcessor       external image-processor   (default: "ADPro mm=1000000")
  800. Viewer               image-displaying program   (default: "c:visage")
  801. Editor               text-editor                (default: "c:ed")
  802. The "ImageProcessor"-setting is only used by the "ARexx"-Operator-PlugIn.
  803. @{b}Macros-Window@{ub}
  804. In this window the ARexx-macros executed after pressing on
  805. of the function-keys can be specified. Because there are only
  806. 9 function keys and maybe lots of macros the <F10>-key
  807. is reserved. After pressing it a filerequester appears
  808. ans lets you select the macro to execute.
  809. @endnode
  810. @remark /*************************************************************/
  811. @remark /*
  812. @remark                            Icons
  813. @remark */
  814. @remark /*************************************************************/
  815. @node IconsWindow
  816. @{b}Icons-Window@{ub}
  817. The Icons-Window has three major functions: changing filetypes
  818. of icons on the desktop, setting up of some desktop-specific options
  819. and creating of icons with nearly unlimited size and quality.
  820. @{b}Options:@{ub}
  821. File               filename of the desktop-files
  822. Trashcan-Action    lets you selected if you want to removed only
  823.                    icons or icons and files
  824. @{b}Icon-Saver:@{ub}
  825. Image1             filename of the first (normal) image of the
  826.                    icon to be generated
  827. Image2             optional 2nd image
  828. Icon               icon-file to be generated
  829. Color              sets the type of palette to be generated
  830. Width              specified the icon-width, the height depends
  831.                    on the aspect of the 1st image
  832. Depth              number of colors used for rendering
  833. Convert            After pressing of the convert-button the images
  834.                    are loaded, scaled and rendered using the
  835.                    current screen-palette. If you want to create
  836.                    icons for the Workbench you have open Wildfire
  837.                    on the Workbench-screen (temporary). If you want
  838.                    to create icons in high quality use a very high
  839.                    screen-depth and convert the created icons into
  840.                    NewIcons later.
  841. @{b}Change the filetype:@{ub}
  842. If Wildfire didn't recognise the type of an external file correctly
  843. you can change tgis type by simply dragging the icon into the
  844. Icon-Window. After that a requester displaying the current and
  845. the available filetypes will appear.
  846. @endnode
  847. @remark /*************************************************************/
  848. @remark /*
  849. @remark                              DWA
  850. @remark */
  851. @remark /*************************************************************/
  852. @node DWAWindow
  853. @{b}DWA-Window@{ub}
  854. The DWA-Window allows you to access windows directly. This may
  855. help you to locate special functions in a faster way. After selecting
  856. a window and pressing the <enter>-key the selected window
  857. and all windows which are on top of it in the window-hierarchy are opened.
  858. If you set the "OpenDWA"-option in the @{"Preferences-Window" link PreferencesWindow}
  859. the DWA-Window will be opened at startup automatically.
  860. @endnode
  861. @remark /*************************************************************/
  862. @remark /*
  863. @remark                              Log
  864. @remark */
  865. @remark /*************************************************************/
  866. @node LogWindow
  867. @{b}Log-Window@{ub}
  868. All statistics, warnings and some additional informations are
  869. collected and displayed in this window.
  870. Of course this feature can be turned off.
  871. @{b}Functions@{ub}:
  872. State           toggle logfile-generation on/off
  873. Edit            edit the logfile
  874. Delete          delete the logfile
  875. Clear           clear the logfile
  876. Load            load the logfile
  877. Save            save the logfile
  878. Verbose         toggle verbose-mode on/off
  879. SaveAtExit      toggle saving of the logfile at program-exit on/off
  880. @endnode
  881. @node InfoWindow
  882. @{b}Info-Window@{ub}
  883. This window displays some useful informations like the available
  884. memory, the date, the amount of currently allocated memory
  885. and program-informations.
  886. @endnode
  887. @remark /*************************************************************/
  888. @remark /*
  889. @remark                            PlugIns
  890. @remark */
  891. @remark /*************************************************************/
  892. @node PlugInsWindow
  893. @{b}PlugIns-Window@{ub}
  894. The PlugIns-Window gives you control over external Wildfire-programs
  895. known as "General PlugIns".
  896. @{b}Functions@{ub}
  897. Add           add one or more PlugIns
  898. Delete        unload the selected PlugIn
  899. SavePrefs     save the settings of a PlugIn
  900. Open          activate the selected PlugIn
  901. Close         deactivate a PlugIn
  902. The "SavePrefs"-function saves the PlugIn-state and some private-date.
  903. If the PlugIn was open while saving it will be activated
  904. next time automatically.
  905. @{b}Available PlugIns@{ub}
  906.  @{"  ColorWheel     " link ColorWheelPlugIn}
  907.  @{"  Command        " link CommandPlugIn}
  908.  @{"  ConvertImages  " link ConvertImagesPlugIn}
  909.  @{"  CountPlugIns   " link CountPlugInsPlugIn}
  910.  @{"  EPSSaver       " link EPSSaverPlugIn}
  911.  @{"  GrabWindow     " link GrabWindowPlugIn}
  912.  @{"  TileImage      " link TileImagePlugIn}
  913.  @{"  SlideShow      " link SlideShowPlugIn}
  914. @endnode
  915. @node ColorWheelPlugIn
  916. @{b}ColorWheel-PlugIn@{ub}
  917. The ColorWheel-PlugIn was made to simplify the selection of the right
  918. colors for the various operators.
  919. Just select a color of your choice and use the values indicated at
  920. the bottom of the window as effect-parameters.
  921. @endnode
  922. @node CommandPlugIn
  923. @{b}Command-PlugIn@{ub}
  924. The Command-PlugIn executes the supplied input-string as
  925. Wildfire-ARexx-command.
  926. This may be useful while creating complicated macros
  927. or simply to test out how a particular command works.
  928. @endnode
  929. @node ConvertImagesPlugIn
  930. @{b}ConvertImages-PlugIn@{ub}
  931. The ConvertImages-PlugIn converts a drawer of images keeping
  932. all filenames. No special-effects can be applied.
  933. This is for example useful if you have a drawer with lots of
  934. jpeg-, tiff-, iff-, ... images and you want them all in png-format.
  935. The file-tag can be specified using the "Extension"-gadget - if
  936. this field is left blank the filenames are not changed.
  937. The output-format is selected as usual in the @{"Savers-Window" link SaversWindow} of
  938. the Processor.
  939. @endnode
  940. @node CountPlugInsPlugIn
  941. @{b}CountPlugIns-PlugIn@{ub}
  942. The CountPlugIns-PlugIn shows some statistics about the initialized
  943. PlugIns including Operators, Savers and General PlugIns.
  944. This trivial thing was created as example for the developer-
  945. kit which will be available soon.
  946. @endnode
  947. @node EPSSaverPlugIn
  948. @{b}EPSSaver-PlugIn@{ub}
  949. The EPSSaver-PlugIn converts any picture which can be read
  950. by Wildfire into an eps-file which can be included into
  951. TeX-documents or directly processed by ghostscript.
  952. @{b}Functions:@{ub}
  953.  Input        input-image
  954.  Output        eps-file to be generated
  955.  Resolution    resolution in dpi
  956.  Type        output-type: Gray, Color or Black&White
  957. @{b}Notes:@{ub}
  958.  1. This PlugIn replaces my iff2eps-package.
  959.  2. The eps-files created by this PlugIn are uncompressed and therefore
  960.     highly portable.
  961.  3. The eps-image will be centered on a normal A4-page automatically.
  962. @endnode
  963. @node SlideShowPlugIn
  964. @{b}SlideShow-PlugIn@{ub}
  965. The SlideShow-PlugIn allows you to create slideshows easily.
  966. There are many functions to create and modify a picture-list
  967. which can be loaded and saved.
  968. The slideshow is performed calling the external program
  969. "Visage" by Magnus Holmgren. This nice program is used 
  970. because of it's capability of "loading while displaying".
  971. @{b}Functions:@{ub}
  972.  Add         add one or more images to the list
  973.  AddDir          add the contents of a whole drawer to the list
  974.  From, To, Step  picture-range
  975.  Remove          remove the selected picture from the list
  976.  Remove Range    remove all pictures inside the specified range from the list
  977.  Delete          delete the selected picture
  978.  File            file for loading/saving picture-lists
  979.  Save            save the current picture-list to disk
  980.  Load            load a previously saved picture-list
  981.  Clear           clear the current picture-list
  982.  Show            display the selected picture
  983.  Delay           pause between two images during the slideshow
  984.  Go              perform the slideshow
  985. The only way to abort the slideshow is to abort the viewer
  986. sequentially upressing the right mouse-button. The number of 
  987. required mouseclicks depends on the length of the image-paths 
  988. and the number of items in the picture-list.
  989. @endnode
  990. @node GrabWindowPlugIn
  991. @{b}GrabWindow-PlugIn@{ub}
  992. The GrabWindow-PlugIn saves the selected Window or screen to harddisk.
  993. The output-format is selected as usual in the @{"Savers-Window" link SaversWindow} of
  994. the Processor.
  995. @endnode
  996. @node TileImagePlugIn
  997. @{b}TileImage-PlugIn@{ub}
  998. The TileImage-PlugIn splits a specified image into small portions
  999. with the same size.
  1000. The output-format is selected as usual in the @{"Savers-Window" link SaversWindow} of
  1001. the Processor.
  1002. @{b}Functions:@{ub}
  1003.  Input        input-image
  1004.  Output        base-filename of the generated particles
  1005.  xCount        number of fragments in x-direction
  1006.  yCount        number of fragments in y-direction
  1007. @{b}Notes:@{ub}
  1008.  1. Finally you will get xCount*yCount fragments with
  1009.     filenames like "output.0001", "output.0002", ...
  1010.     The counter runs from the left lower edge to the right upper
  1011.     edge (which may be important if you want to use
  1012.     the created images later)
  1013.  2. the sum of the generated fragments must fit the
  1014.     image-size *exactly*. For example you can't subdivide
  1015.     an image of the dimensions 640x480 into 3x7 fragments
  1016.  3. The idea for this PlugIn is really not mine ;)
  1017. @endnode
  1018. @remark /*************************************************************/
  1019. @remark /*
  1020. @remark                            FAQ
  1021. @remark */
  1022. @remark /*************************************************************/
  1023. @node FAQ
  1024. @{b}Frequently Asked Questions@{ub}
  1025. 1. Q: Is there a WWW-site for Wildfire ?
  1026.    A: Not yet.
  1027. 2. Q: How to contact the author ?
  1028.    A: epgbc@cluster1.urz.Uni-Halle.DE
  1029. 3. Q: The demo-version I have installed isn't capable to convert
  1030.       large animations because of ''eating'' too much memory.
  1031.       Is this only a ''feature'' of the Demo-version ?
  1032.    A: Yes, of course !
  1033.       Wildfire has an own memory handler to simplify and speed up
  1034.       memory-allocations. The Demo-version has no free()-function,
  1035.       only the freeall()-function (which cleans up after program-exit)
  1036.       is available.
  1037. 4. Q: Wildfire crashes my machine heavily at startup...
  1038.    A: This is a serious thing.
  1039.       Before releasing any version of Wildfire I perform some
  1040.       characteristic enforcer-tests.
  1041.       So it's nearly impossible that the program performs
  1042.       some illegal things at startup itself.
  1043.       Maybe the reason is a lack in your system-software or a
  1044.       very special expansion-board.
  1045.       The following tools are installed in my system without
  1046.       causing any troubles with Wildfire:
  1047.        MCP (almost any things that make sense are enabled)
  1048.        DynamiCache
  1049.        NewIcons3.0
  1050.        DefIcons
  1051.        FastIPrefs
  1052.        NewMode
  1053.        PowerSnap
  1054.        ToolManager
  1055.        BlizKick
  1056.        KingCON
  1057.        fBlt
  1058.        CPUClr
  1059.        AAStarter
  1060.        PatchWPA8
  1061.        and maybe some more
  1062.       The following libraries are opened at startup:
  1063.        dos, graphics, intuition, diskfont, gadtools, utility,
  1064.        asl, wildfire, datatypes, amigaguide
  1065.       Long time ago I had a problem with another program crashing
  1066.       after opening an old version of amigaguide.library.
  1067.       So always try to use the latest and official versions of
  1068.       all of the disk-based libraries.
  1069.       For further help send me a more detailed bug-report
  1070.       including snoopdos- and enforcer-logfiles.
  1071. 5. Q: Wildfire crashes my machine after loading the PlugIns...
  1072.    A: Since version 2.56 the debug-option ("wf -debug")
  1073.       turns on the output of some startup- and cleanup-informations.
  1074.       Please try it again using this option and send me the
  1075.       generated output (if possible).
  1076. 6. Q: I've tried out the demo-version and it crashes after a while.
  1077.       I can't convert animations with it because I haven't enough
  1078.       memory to finish any operation.
  1079.       In may opinion you are loosing potential customers using such
  1080.       a way of restricting the unregistered program version.
  1081.       It would be much better to print your logo to every generated
  1082.       image - nobody could use the program seriously without registering.
  1083.    A: This is no bad idea. In fact I had implemented this "feature"
  1084.       in a previous version. The problem is that it's too easy to
  1085.       patch for "sunday-crackers".
  1086.       The way I currently use requires much more knowledge than
  1087.       simply replacing code-lines of the disassembled binary
  1088.       with "nop"-statements.
  1089.       Another point is that I think that's not necessary to create
  1090.       complete animations to decide if Wildfire is worth registering
  1091.       or not. Many working features of the unregistered version
  1092.       are missing in much cheaper "commercial" software.
  1093. 7. Q: Why did you release Wildfire as shareware ? It looks very
  1094.       professional.
  1095.    A: Well, Wildfire *IS* a professional piece of software.
  1096.       The main reason is the fact that Wildfire released as shareware
  1097.       is one of the programs with the best price/performance-ratio.
  1098.       If you release a program as "commercial product" a lot of money
  1099.       is spent for any other purpose than the program-development.
  1100.       A printed manual for example is very expensive to produce but
  1101.       the most people doesn't read manuals.
  1102.       Another advantage is the fast availability of free updates.
  1103.       Finally we couldn't find a distributor here in Germany because
  1104.       most of them sell their own gfx-software and the remaining
  1105.       are not professional.
  1106. @endnode
  1107. @remark /*************************************************************/
  1108. @remark /*
  1109. @remark                            Processor
  1110. @remark */
  1111. @remark /*************************************************************/
  1112. @node ProcessorWindow
  1113. @{b}Processor-Window@{ub}
  1114. @{u}Introduction@{uu}
  1115. The Processor is Wildfire's powerful image-processing engine which acts
  1116. as a PlugIn between the Converter's input and output.
  1117. If you have understood the basic concept of this architecture
  1118. it's easy for you to create the most complicated effects.
  1119. A normal animation-converter like MainActor reads in a input-stream
  1120. of pictures and writes them as output-stream to harddisk.
  1121. (The complicated process of (de)compressing various animation-
  1122. formats is here neglected.)
  1123. The Converter of Wildfire extends this simple concept by a
  1124. PlugIn-architecture. You can "plug in" as many modifications
  1125. between the input and the output as you want. These modifications
  1126. are realized via Operators.
  1127. For example this concept would allow to scale down animations
  1128. "plugging in" a Halve-operator.
  1129. A further extension is the usage of tempory buffers called
  1130. "TEMP-buffers". Every Wildfire-PlugIn has at least two Parameters:
  1131. the input- and the output-buffer. The "normal" buffer generated
  1132. by the Converter is called "STREAM". There are 8 TEMP-buffers
  1133. called "TEMP1"..."TEMP8".
  1134. In this terms the process of halving an animation looks like this:
  1135. input
  1136.   ->STREAM -> Halve -> STREAM
  1137.                          I
  1138.                        output
  1139. This concept of TEMP-buffers is much more powerful. For example it
  1140. allows you to create an animation which consists of the input-
  1141. animation as gray background and as small colored foreground.
  1142. In this case you would need a Scale-, a ColorToGray- and a Compose-
  1143. PlugIn.
  1144. The scheme would look like this:
  1145. input
  1146.   ->STREAM -> Scale       -> TEMP1  )
  1147.                                      > Compose -> STREAM
  1148.            -> ColorToGray -> STREAM )               I
  1149.                                                   output
  1150. But this concept doesn't you allow very complicated effects
  1151. like a jumping animation in front of a melting one.
  1152. So a further extension is necessary: time-dependant animation-
  1153. parameters.
  1154. For example this allows you to create a spinning animation.
  1155. All you need is a Rotate-PlugIn and a rotate-amount running
  1156. from 0 to 360 degrees during the whole animation.
  1157. Let's assume your animation has 120 frames. To convert it into a
  1158. spinning one you have to "plug in" the Rotate-Operator, to
  1159. create the Envelope describing the variation of the
  1160. rotate-amount with the frame number and to "plug in" this
  1161. Envelope into the Rotate-Operator. That's it.
  1162. The Envelope consists of two points one at frame 0 with the
  1163. value 0 and one at frame 120 with the value 360.
  1164. Setting the value 0 at frame 0 which is never reached (the
  1165. first frame is always 1) causes the creation of a looping
  1166. animation.
  1167. As said before, if you understood this concept you can
  1168. do almost anything.
  1169. Example: Compose four different animations after applying
  1170. a Twirl-effect to the 1st, a Negative-effect to the 2nd,
  1171. a Cube-effect to the 3rd and a Posterise-effect to the 4th one:
  1172. input
  1173.   ->STREAM -> Twirl ->STREAM                     )
  1174.                                                   > Compose -> STREAM                                     )
  1175.           LoadImage ->TEMP1 -> Negative -> TEMP1 )                                                         )
  1176.                                                                                                             > Compose -> STREAM
  1177.                                              LoadImage -> TEMP1 -> Cube      -> TEMP1 )                    )               I
  1178.                                                                                        > Compose -> TEMP1 )              output
  1179.                                              LoadImage -> TEMP2 -> Poszerise -> TEMP2 )
  1180. This example doesn't make any sense but demonstrates that
  1181. the only limit is your own creativity.
  1182. @{b}Functions:@{ub}
  1183. @{u}Process-script:@{uu}
  1184. Add            open the @{" Operators-Window " link OperatorsWindow} to append an operator to the list
  1185. Kill           kill the selected item
  1186. Duplicate      duplicate the selected item
  1187. Import         import one or more items from a previously saved Process-file
  1188. Edit           open the options-window of the selected Operator
  1189. Up             move the selected item up
  1190. Down           move the selected item down
  1191. Visible/Hidden toggle if the current item remains visible if folding is
  1192.                enabled
  1193. Folding        toggle list-folding on/off
  1194. Range          the frame-range of the current Operator
  1195. Folding is very nice feature creating very complex scripts.
  1196. If a particular scene works you should hide it to work on the next one.
  1197. A comment describing the hidden scene and maybe the frame-range
  1198. should be left visible.
  1199. @{u}Options:@{uu}
  1200. Mode           color-mode for rendered images
  1201. Dither         dithering-method used rendering images
  1202. Depth          depth of rendered images
  1203. CSkip          number of colors not used rendering images, this may
  1204.                be useful for creating Workbench-backdrops
  1205. Scale          Process-scale-value, this harmless-looking option
  1206.                is a real mega-feature: It allows you to use Process-scripts
  1207.                designed for a particular image-size to use for other
  1208.                image-sizes.
  1209.                E.g.: You have designed a large project of about 1000 frames
  1210.                processing images of a dimension 320x256. Now you want to
  1211.                create a preview-animation of the halve size.
  1212.                Simply set the Scale-value to 0.5.
  1213. 3DQuant        3D-quantization-parameter which causes the 3D-operators to
  1214.                approximate the input-image by faces to speed up the
  1215.                generation of previews.
  1216.                The value indicates the size of the generated rectangles in
  1217.                pixels, larger values increase the speed and decrease both
  1218.                the memory-consumption and the quality.
  1219. Smooth         toggle smoothing for various Operators on/off
  1220. Single Image   open the @{" SinglePicture-Window " link SinglePictureWindow} to process single images
  1221. Variables      open the @{" Variables-Window     " link VariablesWindow} to edit time-dependant animation-paramters
  1222. Savers         open the @{" Savers-Window        " link SaversWindow} to select the Saver used while writing TrueColor-images
  1223. Palette        open the @{" Palette-Window       " link PaletteWindow} to create a locked Palette
  1224. Calculator     open the @{" Calculator-Window    " link CalculatorWindow}
  1225. File           filename used for loading/saving of Process-scripts
  1226. Load           load a previously saved Process-file
  1227. Save           save the Process-script, all Variables and the Palette
  1228.                as Process-file
  1229. Clear          clear the Process-script, all Variables keep unchanged
  1230. @{b}Additional ShortCuts:@{ub}
  1231. <del>            delete the selected list-item
  1232. <space>          Test Process of the @{" SinglePicture-Window " link SinglePictureWindow}
  1233. <v>              toggle @{" Preview " link ProcessorPreview} on/off
  1234. <up>,<down>      browse through the Process-list
  1235. <left>           unfold item (if folding=off)
  1236. <left>           unfold whole list after safety-requester (if folding=on)
  1237. <right>          fold item
  1238. @endnode
  1239. @node ProcessorPreview
  1240. @{b}Preview-Window@{ub}
  1241. The Preview is a very useful feature while testing complicated scripts.
  1242. It applies the current-Process-script to a smaller version
  1243. of the picture specified in the @{" SinglePicture-Window " link SinglePictureWindow}.
  1244. The change of any parameter is visible in the Process-Window
  1245. instantly (on fast machines). To abort the geneneration of
  1246. the preview hold the left mouse-button.
  1247. The width and depth of the preview can be specified from within the
  1248. @{" SinglePicture-Window " link SinglePictureWindow}.
  1249. A width of 160 and a depth of 4 is a should be always good choice.
  1250. The original width of the input-image is displayed in the
  1251. window title. This may be sometimes important adjusting size-dependant
  1252. parameters.
  1253. If you used a "normal" image-processor before you may have enjoyed
  1254. the feature of graphically specifing parameters like dragging a rectangle
  1255. for a Crop-effect. Such a feature isn't implemented into Wildfire
  1256. because I had no idea of good concept yet.
  1257. The problem is that all Operators of the Process-script are
  1258. independant. That means that a Twirl-effects doesn't "know" about
  1259. a Scale-effect executed before.
  1260. And the Scale-effect doesn't "know" about about a CreateImage-effect
  1261. executed before...
  1262. A first attempt is the @{" ImageCoordinates-Window " link ImageCoordinatesWindow} which
  1263. allows you to graphically modify some types of controls inside the
  1264. Preview-Window. For example if you want to crop an image you may
  1265. use the "Rectangle"-control and later copy the indicated coordinates
  1266. to the options-window of the Crop-PlugIn.
  1267. To disable a particular effect temporaray simply modify it's working
  1268. range (especially the from-value).
  1269. @{b}Shortcuts:@{ub}
  1270. <space>       refresh the image (e.g. after aborting)
  1271. <c>           open the @{" ImageCoordinates-Window " link ImageCoordinatesWindow}
  1272. @endnode
  1273. @node ImageCoordinatesWindow
  1274. @{b}ImageCoordinatesWindow@{ub}
  1275. The ImageCoordinates-Window is a first attempt to modify parameters
  1276. graphically. There a some types of controls which can be dragged and 
  1277. modified using the mouse. All interesting values like image-coordinates
  1278. or the radius of a circle are indicated and could be copied to the 
  1279. options-window of the selected PlugIn.
  1280. @{b}Functions@{ub}
  1281. Control-Type     type of control:
  1282.                    point : simple point, e.g. represting a upper-left edge
  1283.                            of a image to be composed
  1284.                    rect  : e.g. representing a crop-region
  1285.                    circle: e.g. representing the amount and the radius
  1286.                                 of a Twirl-effect
  1287. Left,Top         coordinates of the point (in coordiantes of the unscaled image),
  1288.                  upper-left edge of the rectangle,
  1289.                  centre of the circle,
  1290. Right, Bottom    lower-right edge of the rectangle
  1291. Angle            angle of the current drawn radius of the circle
  1292. Radius           radius of the circle
  1293. @endnode
  1294. @node SinglePictureWindow
  1295. @{b}SinglePicture-Window@{ub}
  1296. This window is made to process single images and to simplify the
  1297. creation of complicated Processor-scripts.
  1298. @{b}Functions:@{ub}
  1299. Input              input image, this field is by default initialized by
  1300.                    Wildfire's intro-picture because it must be always
  1301.                    non-empty
  1302. Frame              the current frame
  1303. Frames             number of frames, this value is only used as maximum
  1304.                    for the scrollbar below
  1305. Scrollbar          another way to change the current frame number
  1306. Test Process       execute the current Processor-script using the current
  1307.                    frame-number and display the result
  1308. Screenmode         select the screenmode used by the "Test Process"-function
  1309. Apply Dimensions   apply the dimensions of the current input-image to the
  1310.                    selected operator, e.g. if the selected operator is a
  1311.                    Twirl-effect the centre and the radius is set
  1312. Preview            toggle @{" Preview " link ProcessorPreview} on/off
  1313. Width              width of the preview
  1314. Depth              depth of the preview, if this value exceeds the
  1315.                    screen-depth the screen is updated automatically
  1316. Output             output-image
  1317. Save Image         execute the current Processor-script using the current
  1318.                    frame-number and save the result using the saver
  1319.                    selected in the @{" Savers-Window " link SaversWindow}
  1320. Save Rendered      execute the current Processor-script using the current
  1321.                    frame-number, render it using the settings made
  1322.                    in the Processor-Window and save the result as ILBM-image
  1323. @{b}Additional Shortcuts:@{ub}
  1324.  <v>               toggle @{" Preview " link ProcessorPreview} on/off
  1325.  <space>           Test Process
  1326.  <left>,<right>    decrease/increase the current frame-number
  1327. @endnode
  1328. @node VariablesWindow
  1329. @{b}Variables-Window@{ub}
  1330. From within the Variables-Window time-depended animation-parameters
  1331. are created, modified, loaded and saved.
  1332. @{b}Functions:@{ub}
  1333. Add                 add a variable
  1334. Kill                kill the selected Variable
  1335. Rename              rename the selected Variable
  1336. Envelope            open the @{" Envelope-Window " link EnvelopeWindow} to graphically
  1337.                     edit the current variable
  1338. File                filenames used for loading/saving of variables
  1339. Load                load variables from a previously saved Variables-file
  1340. Save                save all variables to disk
  1341. Clear               clear all variables
  1342. After clearing a Variable all informations about this Variable
  1343. is lost - even in thee Processor-script.
  1344. @endnode
  1345. @node SaversWindow
  1346. @{b}Savers-Window@{ub}
  1347. From within this windows the Saver used for writing Truecolor-images
  1348. is choosen. Most Savers offer an options-window which can
  1349. accessed from within the Savers-Window, too.
  1350. Another purpose is to add or remove Saver-PlugIns.
  1351. Saver-PlugIns contain both the save- and the load-functions for a
  1352. particular image-format. Removing a Saver causes the loss of the
  1353. capability to load and save images of this file-format.
  1354. All unknown fileformats are handled via datatypes which is retricted
  1355. to the operation of loading.
  1356. @{b}Functions:@{ub}
  1357. Add            add an external Saver-PlugIn
  1358. Delete         delete the selected Saver-PlugIn
  1359. SavePrefs      save the options of the current PlugIn
  1360. Options        open the options-window of the selected Saver-PlugIn
  1361. @{b}Available Savers@{ub}
  1362.  @{" ILBM " link ILBMSaver}
  1363.  @{" JPEG " link JPEGSaver}
  1364.  @{" PNG  " link PNGSaver}
  1365. @endnode
  1366. @node ILBMSaver
  1367. @{b}ILBM-Saver@{ub}
  1368. This PlugIn saves and load images in the ILBM-format.
  1369. @{b}Options:@{ub}
  1370. Compression     ByteRun1/Node
  1371. The choice of no compression is good for saving huge images
  1372. (e.g. at 600dpi). In such cases there may be not enough
  1373. memory to do any compression.
  1374. @endnode
  1375. @node JPEGSaver
  1376. @{b}JPEG-Saver@{ub}
  1377. This PlugIn saves and load images in the JPEG-format.
  1378. @{b}Options:@{ub}
  1379. Quality          remaining image-quality in percent
  1380. Format           toggle Normal/Progressive-format
  1381. Optimize         toggle Huffman-table-optimizing on/off
  1382. Output           toggle TrueColor/GrayScale-output
  1383. In the most cases the TrueColor-Progressive-format should
  1384. be the best choice.
  1385. This PlugIn uses routines of the @{b}IJG JPEG Library@{ub}
  1386. developed by @{b}The Independent JPEG Group.@{ub}
  1387. @endnode
  1388. @node PNGSaver
  1389. @{b}PNG-Saver@{ub}
  1390. This PlugIn saves and load images in the PNG-format.
  1391. @{b}Options:@{ub}
  1392. Format     various formats are supported:
  1393.             24Bit RGB   : TrueColor-image
  1394.              8Bit Color : rendered image in 256 colors
  1395.                           (good GIF-replacement)
  1396.              8Bit Gray  : grayscale-image
  1397.              4Bit color : rendered image in 16 colors
  1398.              Black&White: rendered Grayscale image in 2 colors
  1399. This PlugIn uses routines of the @{b}PNG Reference Library@{ub}
  1400. developed by @{b}Group 42, Inc.@{ub}
  1401. @endnode
  1402. @node PaletteWindow
  1403. @{b}Palette-Window@{ub}
  1404. The Palette-Window lets you create, modify, load and save a
  1405. locked Palette used by the Processor while rendering images.
  1406. @{b}Functions:@{ub}
  1407. File              file to load/save palettes
  1408. Load              load the palette from the selected file,
  1409. Save              save the current palette to disk
  1410. Red, Green, Blue  values of the current selected palette-entry
  1411. Copy              duplicate the current color
  1412. Exchange          exchange two colors
  1413. Spread            create a color-transition between two colors
  1414. Undo              reset the last changed color to its previous value
  1415. State             toggle the state of the Palette
  1416. Use               make all performed changed permanent
  1417. Cancel            cancel all apllied changes
  1418. If the state of the Palette is enabled it will be used for all
  1419. forthcoming render-processes. This is very important if
  1420. you want to create animations with locked colors using
  1421. the Processor.
  1422. If you use a screendepth smaller than 8 no change of Palette
  1423. will be visible (indicated by changing screen-colors).
  1424. In the other case while pressing the right mouse-button the
  1425. normal screen-colors are used for the lower palette-entries
  1426. which is important to locate gadgets.
  1427. @endnode
  1428. @node CalculatorWindow
  1429. @{b}Calculator-Window@{ub}
  1430. The Calculator-window is made to easily evaluate mathematical expressions
  1431. and to define or view user-defined symbols.
  1432. Most od Wildfire's gadgets allow you to enter mathematical expressions, too.
  1433. The symbols defined from within the Calculator-Window can be accessed
  1434. from this gadgets, too.
  1435. @{b}Functions:@{ub}
  1436. 1st string-gadget      expression to evaluate
  1437. Results                shows the last three results
  1438. Symbols                list of all user-defined symbols, especially constants
  1439. Load                   load symbols from a previously saved file
  1440. Save                   save all symbols to disk
  1441. To define a symbol enter it's name and optionally it's value,
  1442. e.g. "a=sqrt(9)/2" initializes the symbol "a" with the value 1.5.
  1443. Later you could enter the expression "a/2" into of the Processor-gadgets.
  1444. If the corresponding value (e.g. a zoom-factor) is of type float it
  1445. will be set to 0.75 otherwise it will be rounded to 1.
  1446. @endnode
  1447. @node EnvelopeWindow
  1448. @{b}Envelope-Window@{ub}
  1449. From within this window all time-dependant animation-parameters
  1450. (called "Envelopes") are created and modified.
  1451. An Envelope is a twodimensional curve with the frame-number
  1452. as x-values and the animation-parameter as y-value. Therefore
  1453. the x-values are always integer-values.
  1454. If the framber-number of the Processor exceeds the range of an
  1455. Envelope the first or last y-Value is used. This means if your Envelope
  1456. only contains one point the y-value of this point is used for
  1457. all frame-numbers.
  1458. Most operations are both using the mouse. A point is selected
  1459. by clicking on it. Moving the mouse while holding the left
  1460. button causes the selected point to be dragged.
  1461. The whole graph can be scrolled using the cursor-keys.
  1462. @{b}Functions:@{ub}
  1463. XRange            the displayed x-range
  1464. YRange            the displayed y-range
  1465. X                 the x-value (frame-number) of the selected point
  1466. Y                 the y-value of the selected point
  1467. Add Point         add a point
  1468. Kill Point        kill a point
  1469. Type              change the type of the Envelope:
  1470.                    Linear: connect two points by straight lines
  1471.                    Spline: use a cubic spline interpolation to connect points
  1472.                    Bezier: surround points by bezier-curves
  1473. View All          view the whole Envelope
  1474. File              filename to save/load Envelopes
  1475. Load              load a previously saved Envelope
  1476. Save              save the current Envelope to disk
  1477. Use               make all performed changes permanent
  1478. Cancel            discard all applied changes
  1479. Advanced Options  open the @{" EnvelopeAdvanced-Window " link EnvelopeAdvancedWindow} to perform
  1480.                   more complex operations
  1481. @endnode
  1482. @node EnvelopeAdvancedWindow
  1483. @{b}EnvelopeAdvanced-Window@{ub}
  1484. From within this window seldom-used but very useful transformations
  1485. are applied to Envelopes.
  1486. @{b}Functions:@{ub}
  1487. @{u}Point-Operations:@{uu}
  1488. First, Last, Step     point-range affected by transformations
  1489. YValue                x-value used by the transformation
  1490. YValue                y-value used by the transformation
  1491. Scale                 scale the Envelope by the x- and y- value specified below
  1492. Shift                 shift the Envelope by the x- and y- value specified below
  1493. @{u}Evaluate Expression:@{uu}
  1494. XMin, XMax, XStep     x-range used for evaluating
  1495. Expression            mathematical expression as function of "x"
  1496. Evaluate              create an Envelope using the x-range as frame-numbers
  1497.                       and the evaluated values as y-value
  1498. @{u}Import/Export:@{uu}
  1499. Load Curve            load a 2D-data file used by plotting programs 
  1500.                       and convert it as Envelope
  1501. Save Curve            save the current Envelope as 2D-datafile
  1502. Load Timecodes        load a previously saved Timecodes-file and convert
  1503.                       it as Envelope
  1504. Save Timecodes        save the current Envelope as Timecodes-file used
  1505.                       from within the @{"Timecodes-Window" link TimecodesWindow}
  1506. @endnode
  1507. @node OperatorsWindow
  1508. @{b}Operators-Window@{ub}
  1509. The Operators-Window is opened after pressing the "Add"-button of the
  1510. Processor-Window and allows you to select an operator which will be
  1511. appended to your Processor-script.
  1512. Another purpose is to add PlugIns to the internal database
  1513. or to remove them.
  1514. All operations can be done both using the mouse and the keyboard.
  1515. Use the cursor-keys to browse through the lists and the <enter>-key
  1516. to apply the selection.
  1517. @{b}Functions:@{ub}
  1518. Add             to load one or more PlugIns from harddisk
  1519. Delete          to delete the selected PlugIn
  1520. Select          to append the selected operator to the Processor-script
  1521. Cancel          to cancel the selection
  1522. @{b}Operator-PlugIns:@{ub}
  1523. There are five basic types of Operator-PlugIns according to their
  1524. purpose.
  1525.  @{b}Buffer:@{ub} modifying or creating buffers
  1526.    @{" Add             " link opAdd            } Add two images                             @{" Example " system "visage wf:doc/pictures/Add.pic"}
  1527.    @{" Compose         " link opCompose        } Compose two images                         @{" Example " system "visage wf:doc/pictures/Compose.pic"}
  1528.    @{" CreateImage     " link opCreateImage    } Create a colored image                     @{" Example " system "visage wf:doc/pictures/CreateImage.pic"}
  1529.    @{" Crop            " link opCrop           } Cut off a rectangular area of an image
  1530.    @{" KillTemp        " link opKillTemp       } Kill a TEMP-buffer
  1531.    @{" LoadImage       " link opLoadImage      } Load an image from harddisk
  1532.    @{" LoadTemp        " link opLoadTemp       } Copy a TEMP-buffer to the main stream
  1533.    @{" Plasma          " link opPlasma         } Create a colored image                     @{" Example " system "visage wf:doc/pictures/Plasma.pic"}
  1534.    @{" ReplaceComp     " link opReplaceComp    } Replace a color-channels of an image       @{" Example " system "visage wf:doc/pictures/ReplaceComp.pic"}
  1535.    @{" SaveImage       " link opSaveImage      } Save an image to disk
  1536.    @{" SaveTemp        " link opSaveTemp       } Copy the main stream to a TEMP-buffer
  1537.  @{b}2D-F/X:@{ub} performing 2D-transformations
  1538.    @{" BlackHole       " link opBlackHole      } Deform an image                            @{" Example " system "visage wf:doc/pictures/BlackHole.pic"}
  1539.    @{" Cartesian2Polar " link opCartesian2Polar} Transform the coordinates of an image      @{" Example " system "visage wf:doc/pictures/Cartesian2Polar.pic"}
  1540.    @{" Displace        " link opDisplace       } Randomly exchange points of an image       @{" Example " system "visage wf:doc/pictures/Displace.pic"}
  1541.    @{" Flip            " link opFlip           } Mirror an image along various directions   @{" Example " system "visage wf:doc/pictures/Flip.pic"}
  1542.    @{" Halve           " link opHalve          } Quickly halve the dimensionsions of an image
  1543.    @{" Magnet          " link opMagnet         } Deform the image                           @{" Example " system "visage wf:doc/pictures/Magnet.pic"}
  1544.    @{" MotionBlur      " link opMotionBlur     } Apply a touch of motion to an image        @{" Example " system "visage wf:doc/pictures/MotionBlur.pic"}
  1545.    @{" Pixelize        " link opPixelize       } Reduce the resolution of an image          @{" Example " system "visage wf:doc/pictures/Pixelize.pic"}
  1546.    @{" Roll            " link opRoll           } Scroll an image along every direction      @{" Example " system "visage wf:doc/pictures/Roll.pic"}
  1547.    @{" Rotate          " link opRotate         } Rotate (a portion) of the image            @{" Example " system "visage wf:doc/pictures/Rotate.pic"}
  1548.    @{" RotateBlur      " link opRotateBlur     } Apply a touch of motion to an image        @{" Example " system "visage wf:doc/pictures/RotateBlur.pic"}
  1549.    @{" Scale           " link opScale          } Scale an image
  1550.    @{" Shear           " link opShear          } Shear the image                            @{" Example " system "visage wf:doc/pictures/Shear.pic"}
  1551.    @{" ShiftLines      " link opShiftLines     } Randomly shift the lines of an image       @{" Example " system "visage wf:doc/pictures/ShiftLines.pic"}
  1552.    @{" Twirl           " link opTwirl          } Deform an image                            @{" Example " system "visage wf:doc/pictures/Twirl.pic"}
  1553.    @{" Wave            " link opWave           } Apply a harmonic 2D-Wave to the image      @{" Example " system "visage wf:doc/pictures/Wave.pic"}
  1554.  @{b}Color:@{ub}  applying color-transformations
  1555.    @{" Alpha           " link opAlpha          } Change the brighness using                 @{" Example " system "visage wf:doc/pictures/Alpha.pic"}
  1556.    @{" Antique         " link opAntique        } Change the colors to look "antique"        @{" Example " system "visage wf:doc/pictures/Antique.pic"}
  1557.    @{" Balancing       " link opBalancing      } Change the                                 @{" Example " system "visage wf:doc/pictures/Balancing.pic"}
  1558.    @{" ColorToGray     " link opColorToGray    } Convert an image into grayscale            @{" Example " system "visage wf:doc/pictures/ColorToGray.pic"}
  1559.    @{" Convolve        " link opConvolve       } Apply a convolution-filter                 @{" Example " system "visage wf:doc/pictures/Convolve.pic"}
  1560.    @{" Emboss          " link opEmboss         } Change an image to look like made of stone @{" Example " system "visage wf:doc/pictures/Emboss.pic"}
  1561.    @{" LUT             " link opLUT            } Change the colors using a LookUpTable      @{" Example " system "visage wf:doc/pictures/LUT.pic"}
  1562.    @{" MedianFilter    " link opMedianFilter   } Apply a medianfilter to an image
  1563.    @{" Negative        " link opNegative       } Turn dark portions into light portions     @{" Example " system "visage wf:doc/pictures/Negative.pic"}
  1564.    @{" Noise           " link opNoise          } Apply random noise to an image             @{" Example " system "visage wf:doc/pictures/Noise.pic"}
  1565.    @{" OilTransfer     " link opOilTransfer    } Change the image to look like "oilpainted" @{" Example " system "visage wf:doc/pictures/OilTransfer.pic"}
  1566.    @{" Posterise       " link opPosterise      } Reduce the color-information of an image   @{" Example " system "visage wf:doc/pictures/Posterise.pic"}
  1567.    @{" SwapRGB         " link opSwapRGB        } Swap the color-components of an image      @{" Example " system "visage wf:doc/pictures/SwapRGB.pic"}
  1568.    @{" Threshold       " link opThreshold      } Create alpha channels                      @{" Example " system "visage wf:doc/pictures/Threshold.pic"}
  1569.  @{b}3D-F/X:@{ub}   performing complex 3D-transformations
  1570.    @{" Bump            " link opBump           } Add a third dimension to an image          @{" Example " system "visage wf:doc/pictures/Bump.pic"}
  1571.    @{" Cube            " link opCube           } Wrap an image on a cube                    @{" Example " system "visage wf:doc/pictures/Cube.pic"}
  1572.    @{" LWOB            " link opLWOB           } Load and draw a Lightwave-object           @{" Example " system "visage wf:doc/pictures/LWOB.pic"}
  1573.    @{" Perspective     " link opPerspective    } Add perspective to an image                @{" Example " system "visage wf:doc/pictures/Perspective.pic"}
  1574.    @{" Water           " link opWater          } Apply an anharmonic water-wave to an image @{" Example " system "visage wf:doc/pictures/Water.pic"}
  1575.    @{" Wave3D          " link opWave3D         } Apply a harmic wave to an image            @{" Example " system "visage wf:doc/pictures/Wave3D.pic"}
  1576.    @{" Wrap            " link opWrap           } Wrap the image on a sphere or a tube       @{" Example " system "visage wf:doc/pictures/Wrap.pic"}
  1577.  @{b}Misc:@{ub}     very special or seldom-used PlugIns
  1578.    @{" ARexx           " link opARexx          } Exchange images with other applications
  1579.    @{" Comment         " link opComment        } Add a comment to the Processor-script
  1580.    @{" Example         " link opExample        } Example for the developer-kit              @{" Example " system "visage wf:doc/pictures/Example.pic"}
  1581.    @{" Raster          " link opRaster         } Apply a black raster to an image           @{" Example " system "visage wf:doc/pictures/Raster.pic"}
  1582.    @{" Text            " link opText           } Render text using various styles           @{" Example " system "visage wf:doc/pictures/Text.pic"}
  1583. @endnode
  1584. @node opAdd
  1585. @{b}Add-Operator@{ub}
  1586. This operator adds or subtracts two images.
  1587. @{b}Parameters@{ub}
  1588. Input1       1st source buffer
  1589. Input2       2nd source buffer
  1590. Output       destination buffer
  1591. Mode         add or subtract the images
  1592. @endnode
  1593. @node opCompose
  1594. @{b}Compose-Operator@{ub}
  1595. This operator composes two images using several genlock-methods
  1596. and optionaly an alpha-channel.
  1597. @{b}Parameters@{ub}
  1598. Background           background image
  1599. Foreground           foreground image
  1600. Destination          destination buffer
  1601. Alpha                optional alpha buffer
  1602. Left                 left edge of the foreground image
  1603. Top                  top edge of the foreground image
  1604. Mix                  transparency of the foreground image
  1605. CentreX              center the foreground horizontally
  1606. CentreY              center the foreground vertically
  1607. Red1, Green1, Blue1: genlock-color 1
  1608. Red2, Green2, Blue2: genlock-color 2
  1609. Genlock              type of genlock:
  1610.                       none                : no genlock
  1611.                       single color        : normal genlock using color 1
  1612.                       inside color range  : extended genlock using all colors
  1613.                                             inside the range color1...color2
  1614.                       outside color range : extended genlock using all colors
  1615.                                             outside the range color1...color2
  1616. @endnode
  1617. @node opCreateImage
  1618. @{b}CreateImage-Operator@{ub}
  1619. This operator creates an image with an optional color-transition.
  1620. @{b}Parameters@{ub}
  1621. Output                output-buffer
  1622. Width                 width of the generated image
  1623. Height                height of the generated image
  1624. Palette               select one of the four edges
  1625. Red, Green, Blue      color of the edges
  1626. HCopy                 copy the selected color horizontally
  1627. VCopy                 copy the selected color vertically
  1628. HVCopy                apply the selected color to all four edges
  1629. @endnode
  1630. @node opCrop
  1631. @{b}Crop-Operator@{ub}
  1632. This operator cuts out a rectangular area of an image.
  1633. @{b}Parameters@{ub}
  1634. Input       input buffer
  1635. Output      output buffer
  1636. Left        left edge of the rectangle
  1637. Top         top edge of the rectangle
  1638. Width       width of the rectangle
  1639. Height      height of the rectangle
  1640. @endnode
  1641. @node opKillTemp
  1642. @{b}KillTemp-Operator@{ub}
  1643. This operator clear a TEMP-buffer and frees it's memory.
  1644. @{b}Parameters@{ub}
  1645. Buffer       TEMP-buffer to kill
  1646. @endnode
  1647. @node opLoadImage
  1648. @{b}LoadImage-Operator@{ub}
  1649. This operator loads an image or an image-sequence from disk.
  1650. @{b}Parameters@{ub}
  1651. Output       output buffer
  1652. Sequence     complete filename of an single image or base-filename
  1653.              of an image-sequence
  1654. Loop         length of the image-sequence
  1655. Shift        shift-value for the filenames of an image-sequence
  1656. Show         show the choosen image
  1657. @endnode
  1658. @node opLoadTemp
  1659. @{b}LoadTemp-Operator@{ub}
  1660. This operator replaces the input-stream with a TEMP-buffer.
  1661. @{b}Parameters@{ub}
  1662. Buffer       TEMP-buffer which holds the image to apply
  1663. @endnode
  1664. @node opPlasma
  1665. @{b}Plasma-Operator@{ub}
  1666. This operator creates image using a fractal algorithm.
  1667. @{b}Parameters@{ub}
  1668. Output       output buffer
  1669. Width        width of the generated image
  1670. Height       height of the generated image
  1671. Dimension    fractal dimension which affects the smoothness of the fractal
  1672. Seed         Parameter which affects the shape
  1673. @endnode
  1674. @node opReplaceComp
  1675. @{b}ReplaceComp-Operator@{ub}
  1676. This operator replaces a color-channel of an image with the
  1677. red-channel of an other image. The main purpose of this
  1678. PlugIn is to create Stereo-3D-Images.
  1679. @{b}Parameters@{ub}
  1680. Input1       input buffer
  1681. Input2       image which replaces the selected channel
  1682. Output       output buffer
  1683. Component    color-channel to replace
  1684. @endnode
  1685. @node opSaveImage
  1686. @{b}SaveImage-Operator@{ub}
  1687. This operator saves an images to harddisk.
  1688. @{b}Parameters@{ub}
  1689. Input        image to save
  1690. File         filename
  1691. Numbering    C-formatstring, if this string is non-empty the current
  1692.              frame-number is appended to filename
  1693. @endnode
  1694. @node opSaveTemp
  1695. @{b}SaveTemp-Operator@{ub}
  1696. This operator copies the content of the input-stream to a TEMP-buffer.
  1697. @{b}Parameters@{ub}
  1698. Buffer       Buffer to copy to
  1699. @endnode
  1700. @node opBlackHole
  1701. @{b}BlackHole-Operator@{ub}
  1702. This operator contracts the whole image.
  1703. @{b}Parameters@{ub}
  1704. Input                input buffer
  1705. Ouput                output buffer
  1706. CentreX, CentreY     centre of the effect
  1707. Amount               amount, large values may cause the whole image
  1708.                      to disappear
  1709. Radius               parameter specifying the local deformation
  1710. Zoom                 zoom-factor for the whole image
  1711. @endnode
  1712. @node opCartesian2Polar
  1713. @{b}Cartesian2Polar-Operator@{ub}
  1714. This operator transforms the cartesian image-coordinates into
  1715. polar coordinates.
  1716. @{b}Parameters@{ub}
  1717. Input       input buffer
  1718. Output      output buffer
  1719. Zoom        zoom factor for the whole image
  1720. @endnode
  1721. @node opDisplace
  1722. @{b}Displace-Operator@{ub}
  1723. This operator swaps points of an image randomly.
  1724. @{b}Parameters@{ub}
  1725. Input         input buffer
  1726. Ouput         output buffer
  1727. Radius        largest distance between two points to swap
  1728. Probability   probability of swapping in percent, a value of 100
  1729.               causes all points to be affected
  1730. Seed          start-value for the random number generator
  1731. @endnode
  1732. @node opFlip
  1733. @{b}Flip-Operator@{ub}
  1734. This operator mirrors an image along a specified axis.
  1735. @{b}Parameters@{ub}
  1736. Input         input buffer
  1737. Ouput         output buffer
  1738. Axis          mirror-axis
  1739. @endnode
  1740. @node opHalve
  1741. @{b}Halve-Operator@{ub}
  1742. This operator halves the dimensions of an image.
  1743. @{b}Parameters@{ub}
  1744. Input         input buffer
  1745. Ouput         output buffer
  1746. @endnode
  1747. @node opMagnet
  1748. @{b}Magnet-Operator@{ub}
  1749. This operator applies a local contraction or expansion to an image.
  1750. @{b}Parameters@{ub}
  1751. Input              input buffer
  1752. Ouput              output buffer
  1753. CentreX, CentreY   centre of the effect
  1754. Amount             amount of the deformation, positive values cause
  1755.                    a contraction, negative a expansion, this
  1756.                    value should be always in the range -20...20
  1757. Damping            parameter which controls the fall-off of the deformation
  1758. Zoom               zoom-factor for the whole image
  1759. @endnode
  1760. @node opMotionBlur
  1761. @{b}MotionBlur-Operator@{ub}
  1762. This operator applies a touch of motion to an image.
  1763. @{b}Parameters@{ub}
  1764. Input            input buffer
  1765. Ouput            output buffer
  1766. DeltaX, DeltaY   direction and amount of the effect
  1767. @endnode
  1768. @node opPixelize
  1769. @{b}Pixelize-Operator@{ub}
  1770. This operator reduces the resolution of an image creating
  1771. rectangles.
  1772. @{b}Parameters@{ub}
  1773. Input             input buffer
  1774. Ouput             output buffer
  1775. Width, Height     size of the rectangles to create
  1776. Centre            centre the rectangles, this options should be
  1777.                   switched off if the size of the rectangle varies
  1778.                   with time
  1779. Grid              type of the optional grid to create
  1780. Size              thickness of the grid to create
  1781. Red, Green, Blue  base color of the grid
  1782. DLeft, DRight ,   color variation of the grid to produce
  1783. DTop, DBottom     a threedimensional look
  1784. @endnode
  1785. @node opRoll
  1786. @{b}Roll-Operator@{ub}
  1787. This operator scrolls an image into a specified direction.
  1788. @{b}Parameters@{ub}
  1789. Input            input buffer
  1790. Ouput            output buffer
  1791. DeltaX, DeltaY   scroll direction and amount
  1792. Wrap             toggle wrapping on/off
  1793. @endnode
  1794. @node opRotate
  1795. @{b}Rotate-Operator@{ub}
  1796. This operator rotates a circular region of an image.
  1797. @{b}Parameters@{ub}
  1798. Input              input buffer
  1799. Ouput              output buffer
  1800. CentreX, CentreY   centre of the circle
  1801. Radius             radius of the circle
  1802. Amount             rotate-angle
  1803. Zoom               zoom-factor for the rotated region
  1804. @endnode
  1805. @node opRotateBlur
  1806. @{b}RotateBlur-Operator@{ub}
  1807. This operator adds a touch of motion to an image.
  1808. @{b}Parameters@{ub}
  1809. Input              input buffer
  1810. Ouput              output buffer
  1811. CentreX, CentreY   centre of the blurred circle
  1812. Radius             radius of the circle
  1813. Amount             blur-amount, large-values like 60 cause a very long
  1814.                    computation time
  1815. @endnode
  1816. @node opScale
  1817. @{b}Scale-Operator@{ub}
  1818. This operator scales up or down images.
  1819. @{b}Parameters@{ub}
  1820. Input              input buffer
  1821. Ouput              output buffer
  1822. Width, Height      new size-values
  1823. Type               choose if the size-values are in pixels or percent
  1824. Aspect             choose the type of scaling:
  1825.                     ignore    : scale the image to the specified values
  1826.                     takewidth : scale the image to the specified width-value
  1827.                                 and a computed height-value keeping the aspect
  1828.                     takeheight: scale the image to specified height-value
  1829. @endnode                        and computed width-value keeping the aspect
  1830. @node opShear
  1831. @{b}Shear-Operator@{ub}
  1832. This operator shears an image with additional damping.
  1833. @{b}Parameters@{ub}
  1834. Input               input buffer
  1835. Ouput               output buffer
  1836. OriginX, OriginY    shear-centre where no damping occurs
  1837. Amount              shear-amount
  1838. Zoom                zoom-value for the whole image
  1839. Axis                shear-direction
  1840. Damping             toggle damping on/off
  1841. Damping             damping-value
  1842. @endnode
  1843. @node opShiftLines
  1844. @{b}ShiftLines-Operator@{ub}
  1845. This operator shifts the lines of an images with optional
  1846. jitter-effect.
  1847. @{b}Parameters@{ub}
  1848. Input         input buffer
  1849. Ouput         output buffer
  1850. Direction     shift-direction
  1851. Jitter        toggle jitter on/off
  1852. Shift         shift-value
  1853. Amount        jitter-amount
  1854. Probability   probability for the jitter-effect
  1855. Seed          start -value for the random number generator
  1856. @endnode
  1857. @node opTwirl
  1858. @{b}Twirl-Operator@{ub}
  1859. This operator applies a nolinear deformation to an image.
  1860. @{b}Parameters@{ub}
  1861. Input              input buffer
  1862. Ouput              output buffer
  1863. FallOff            radial direction of the fall-off of the deformation
  1864. CentreX, CentreY   centre of the effect
  1865. Radius             radius of the affected circular region of the image
  1866. Amount             twirl amount, very large value like 1000 are allowed
  1867. Power              parameter describing the local deformation, large
  1868.                    values like 6 concentrate the deformation around
  1869.                    the centre of the circle
  1870. Zoom               zoom-factor for the affected circular region
  1871. @endnode
  1872. @node opWave
  1873. @{b}Wave-Operator@{ub}
  1874. This operator applies a harmonic wave to an image.
  1875. @{b}Parameters@{ub}
  1876. Input             input buffer
  1877. Ouput             output buffer
  1878. CentreX, CentreY  centre of the wave, the point with no damping
  1879. Amplitude         amplitude of the wave
  1880. Phase             phase of the wave in degrees
  1881. Wavelength        wavelength
  1882. Shift             diagonal-shift-parameter
  1883. Zoom              zoom-value for the whole image
  1884. Damping           toggle damping on/off
  1885. Damping           damping-value
  1886. Axis              wave-direction
  1887. Frame             current frame
  1888. Frames            frame-number describing a whole cycle
  1889. @endnode
  1890. @node opAlpha
  1891. @{b}Alpha-Operator@{ub}
  1892. This operator modifies the brighness of an image using 
  1893. an alpha-channel.
  1894. @{b}Parameters@{ub}
  1895. Input         input buffer
  1896. Ouput         output buffer
  1897. Alpha         alpha buffer
  1898. Left          left edge of the alpha image
  1899. Top           top edge of the alpha image
  1900. @endnode
  1901. @node opAntique
  1902. @{b}Antique-Operator@{ub}
  1903. This operator turns the colors of an image to look "anitique".
  1904. @{b}Parameters@{ub}
  1905. Input         input buffer
  1906. Ouput         output buffer
  1907. @endnode
  1908. @node opBalancing
  1909. @{b}Balancing-Operator@{ub}
  1910. This operator performs some balancing operations.
  1911. @{b}Parameters@{ub}
  1912. Input         input buffer
  1913. Ouput         output buffer
  1914. Red           shift-value for the red component
  1915. Green         shift-value for the green component
  1916. Blue          shift-value for the green component
  1917. Contrast      contrast-value, negative values decrease the contrast
  1918. Bright        shift value for all color-channels
  1919. Gamma         gamma-value
  1920. All values have to be in the range -255...255.
  1921. @endnode
  1922. @node opColorToGray
  1923. @{b}ColorToGray-Operator@{ub}
  1924. This operator converts an image into grayscale.
  1925. @{b}Parameters@{ub}
  1926. Input              input buffer
  1927. Ouput              output buffer
  1928. Weights            weight of the red, green and blue component:
  1929.                     luminance : use luminance weights
  1930.                     average   : use for all components the same weight
  1931.                     custom    : use custom weights
  1932. Red, Green, Blue   custom weights, to avoid the use of float numbers
  1933.                    all values are integers which are formed multiplying
  1934.                    the real weight by a factor of 10000,
  1935.                    e.g. the average weights are 3333, 3334 and 3333.
  1936. @endnode
  1937. @node opConvolve
  1938. @{b}Convolve-Operator@{ub}
  1939. This operator applies a 3x3- or 5x5 convolution-matrix to an image.
  1940. @{b}Parameters@{ub}
  1941. Input         input buffer
  1942. Ouput         output buffer
  1943. Mix           intensity of the generated effect
  1944. Shift         shift-value which is applied to the result for each pixel,
  1945.               this makes it for example possible to turn negative
  1946.               results into the valid range 0...255 without loosing details
  1947. Size          toggle the size of the matrix
  1948. File          filename for loading/saving a matrix
  1949. Load          load a matrix in Wildfire's or ADPro's format
  1950. Save          save the current matrix to disk
  1951. @endnode
  1952. @node opEmboss
  1953. @{b}Emboss-Operator@{ub}
  1954. This operator converts an image in a gray relief
  1955. @{b}Parameters@{ub}
  1956. Input         input buffer
  1957. Ouput         output buffer
  1958. Direction     direction of the "lightsource", different directions
  1959.               may cause results looking extremely different
  1960. @endnode
  1961. @node opLUT
  1962. @{b}LUT-Operator@{ub}
  1963. This operator applies a LookUpTable to an image.
  1964. Unlike to all other image-processors LUT's are represented
  1965. by Envelopes and can be morphed !
  1966. There are 6 Envelopes: a Start- and an End-Envelope for every
  1967. component. After specifying the number of frames the Start-Envelope
  1968. is morphed into the End-Envelope. Different point-counts
  1969. are possible.
  1970. @{b}Parameters@{ub}
  1971. Input         input buffer
  1972. Ouput         output buffer
  1973. Mode          toggle Edit/View-mode
  1974. Type          type of the spline of the current channel
  1975. Component     current component
  1976. RGB           apply the current Envelope to all components
  1977. Preset        choose a preset
  1978. Apply         apply the selected preset to the current component
  1979. Position      modify the Start- or the End-Envelope
  1980. Both          apply the Envelope of the current component as
  1981.               End- and as Start-Envelope
  1982. Frames        number of frames used for morphing
  1983. Frame         current frame displayed in view-mode
  1984. MirrorX       mirror the current Envelope along the x-axis
  1985. MirrorY       mirror the current Envelope along the y-axis
  1986. MirrorXY      flip the current Envelope along the diagonal
  1987. MoveX         shift the current Envelope by the specified amount in x-direction
  1988. MoveY         shift the current Envelope by the specified amount in y-direction
  1989. Amount        shift-value
  1990. File          file used for loading/saving envelopes
  1991. Load          load an Envelope
  1992. Save          save the current Envelope to disk
  1993. There are two modes: the View- and the Edit-mode. In Edit-mode
  1994. all changes are applied, in view mode the morphing of the
  1995. splines is visualized. In this mode you can change the current-frame-
  1996. number both using the scrollbar and the "Frame"-gadget.
  1997. If you want to create your Envelopes using the @{"Envelope-Window" link EnvelopeWindow}
  1998. the only restriction is that all values must be in the range 0..255.
  1999. The first point must have the x-coordinate 0, the last one the
  2000. coordinate 255.
  2001. @endnode
  2002. @node opMedianFilter
  2003. @{b}MedianFilter-Operator@{ub}
  2004. This operator applies a median-filter to the image.
  2005. (In the most cases there will be no visible change.)
  2006. @{b}Parameters@{ub}
  2007. Input         input buffer
  2008. Ouput         output buffer
  2009. Rect          size of the rectangle scanned for every pixel
  2010. @endnode
  2011. @node opNegative
  2012. @{b}Negative-Operator@{ub}
  2013. This operator turns the colors of an image into negative ones.
  2014. @{b}Parameters@{ub}
  2015. Input         input buffer
  2016. Ouput         output buffer
  2017. @endnode
  2018. @node opNoise
  2019. @{b}Noise-Operator@{ub}
  2020. This operator applies random noise to an image.
  2021. @{b}Parameters@{ub}
  2022. Input         input buffer
  2023. Ouput         output buffer
  2024. Intensity     intensity of the noise in color-units
  2025. Probability   noise-probability
  2026. Seed          start-value for the random number generator
  2027. @endnode
  2028. @node opOilTransfer
  2029. @{b}OilTransfer-Operator@{ub}
  2030. This operator applies the OilTransfer-algorithm to an image.
  2031. @{b}Parameters@{ub}
  2032. Input         input buffer
  2033. Ouput         output buffer
  2034. Rect          size of the rectangle scanned for every pixel
  2035. @endnode
  2036. @node opPosterise
  2037. @{b}Posterise-Operator@{ub}
  2038. This operator reduces the number of bits per byte for every pixel
  2039. of the image.
  2040. @{b}Parameters@{ub}
  2041. Input         input buffer
  2042. Ouput         output buffer
  2043. Bits          number of bits (1..7) per byte, a value 8 which is
  2044.               the normal case would cause no change
  2045. @endnode
  2046. @node opSwapRGB
  2047. @{b}SwapRGB-Operator@{ub}
  2048. This operator swaps the color-channels of an image
  2049. @{b}Parameters@{ub}
  2050. Input         input buffer
  2051. Ouput         output buffer
  2052. Mode          swap-mode, all possible permutations of RGB
  2053. @endnode
  2054. @node opThreshold
  2055. @{b}Threshold-Operator@{ub}
  2056. This operator converts an image into black&white using a grayscale-level,
  2057. this may be especially useful for the creation of alpha-channels.
  2058. @{b}Parameters@{ub}
  2059. Input         input buffer
  2060. Ouput         output buffer
  2061. Level         grayscale-level, all pixels with a higher brightness
  2062.               ar turned into white ones, all other in black ones
  2063. @endnode
  2064. @node opBump
  2065. @{b}Bump-Operator@{ub}
  2066. This operator uses a 2nd image to add height-information which
  2067. is visualized using a single lightsoure to an image.
  2068. @{b}Parameters@{ub}
  2069. Input                   input buffer
  2070. Ouput                   output buffer
  2071. HeightMap               image used to create the height-information
  2072. Amount                  height-value corresponding to a brighness of 255
  2073. LightX, LightY, LightZ  coordinates of the lightsource
  2074. Intensity               light-intensity
  2075. Left                    left edge of the height-map
  2076. Top                     top edge of the height-map
  2077. @endnode
  2078. @node opCube
  2079. @{b}Cube-Operator@{ub}
  2080. This operator wraps an image onto a cube.
  2081. @{b}Parameters@{ub}
  2082. Input                   input buffer
  2083. Ouput                   output buffer
  2084. Zoom                    zoom factor for the whole image
  2085. CentreX, CentreY        centre for zooming and rotating
  2086. CamX, CamY, CamZ        camera-position
  2087. Rotate                  axis-pair to rotate around/disable rotating
  2088. Alpha                   first rotation angle
  2089. Beta                    second rotation angle
  2090. Light                   toggle light on/off
  2091. LightX, LightY, LightZ  light-position
  2092. Intensity               light-intensity
  2093. Ambient                 ambient intensity
  2094. Hardness                specular intensity
  2095. Size                    size of the cube
  2096. The image is sliced into 6 parts (2 rows, 3 columns) which are mapped
  2097. onto the six surfaces of the cube.
  2098. To create a cube with 6 different images simply compose them together
  2099. and use the result as input for the Cube-operator.
  2100. To speed up the generation of previews modify the "3DQuant"-parameter
  2101. in the @{"Processor-Window" link ProcessorWindow}.
  2102. @endnode
  2103. @node opLWOB
  2104. @{b}LWOB-Operator@{ub}
  2105. This operator reads in a Lightwave-object and renders it using
  2106. flat shading. The main purpose of this PlugIn is to produce
  2107. preview images for object-catalogues.
  2108. Therefore the filename can be plotted directly to the generated
  2109. image.
  2110. @{b}Parameters@{ub}
  2111. Input                   input buffer
  2112. Ouput                   output buffer
  2113. Zoom                    zoom factor for the whole image
  2114. CentreX, CentreY        centre for zooming and rotating
  2115. CamX, CamY, CamZ        camera-position
  2116. Rotate                  axis-pair to rotate around/disable rotating
  2117. Alpha                   first rotation angle
  2118. Beta                    second rotation angle
  2119. Light                   toggle light on/off
  2120. LightX, LightY, LightZ  light-position
  2121. Intensity               light-intensity
  2122. Ambient                 ambient intensity
  2123. Hardness                specular intensity
  2124. Text                    toggle the kind of text to be plotted to the image:
  2125.                           off  : no text will be generated
  2126.                           small: plot the filename without the path
  2127.                           full : plot the full filename with path
  2128. Select Font             select the font for the generated string
  2129. File                    object-file to be loaded
  2130. Width, Height           dimensions of the image to create
  2131. BGRed, BGGreen, BGBlue  background color
  2132. TRed, TGreen, TBlue     text color
  2133. All faces are rendered using LightWave's assumption about of the
  2134. orientation of the face-normals. If the image looks "strange" you
  2135. know that you have to use the "Doublesided"-flag for this surface
  2136. from within LightWave.
  2137. @endnode
  2138. @node opPerspective
  2139. @{b}Perspective-Operator@{ub}
  2140. This operator adds perspective to an image.
  2141. @{b}Parameters@{ub}
  2142. Input                   input buffer
  2143. Ouput                   output buffer
  2144. Zoom                    zoom-factor for the whole image
  2145. CentreX, CentreY        centre for rotating and zooming
  2146. CamX, CamY, CamZ        camera-position
  2147. Rotate                  axis-pair to rotate around/disable rotating
  2148. Alpha                   first rotation angle
  2149. Beta                    second rotation angle
  2150. Light                   toggle lightsource on/off
  2151. LightX, LightY, LightZ  light-position
  2152. Dimish                  dimishing-radius, at this distance from the
  2153.                         light-position the intensity has fallen off to the
  2154.                         the half
  2155. @endnode
  2156. @node opWater
  2157. @{b}Water-Operator@{ub}
  2158. This operator applies a threedimensional anharmonic water-wave
  2159. to an image.
  2160. @{b}Parameters@{ub}
  2161. Input                   input buffer
  2162. Ouput                   output buffer
  2163. Zoom                    zoom factor for the whole image
  2164. CentreX, CentreY        centre for zooming and rotating
  2165. CamX, CamY, CamZ        camera-position
  2166. Rotate                  axis-pair to rotate around/disable rotating
  2167. Alpha                   first rotation angle
  2168. Beta                    second rotation angle
  2169. Light                   toggle light on/off
  2170. LightX, LightY, LightZ  light-position
  2171. Intensity               light-intensity
  2172. Ambient                 ambient intensity
  2173. Hardness                specular intensity
  2174. Frame                   current frame
  2175. Frames                  frame count describing a full cycle
  2176. Times                   number of rings, values in the range 1..3 are
  2177.                         are always a good choice
  2178. Rings                   number of times the growing of rings is performed,
  2179.                         after one cycle the 1st ring has the
  2180.                         distance times*wavelength from the centre,
  2181.                         values 2..10 give good results
  2182. Amplitude               wave-amplitude, this value should be always in
  2183.                         the range 1..4
  2184. Wavelength              wavelength
  2185. OriginX, OriginY        location of the wave-source
  2186. Damping                 toggle damping on/off
  2187. Damping                 damping-value
  2188. To speed up the generation of previews modify the "3DQuant"-parameter
  2189. in the @{"Processor-Window" link ProcessorWindow}.
  2190. @endnode
  2191. @node opWave3D
  2192. @{b}Wave3D-Operator@{ub}
  2193. This operator applies a harmonic wave in the threedimensional
  2194. space to an image.
  2195. @{b}Parameters@{ub}
  2196. Input                   input buffer
  2197. Ouput                   output buffer
  2198. Zoom                    zoom factor for the whole image
  2199. CentreX, CentreY        centre for zooming and rotating
  2200. CamX, CamY, CamZ        camera-position
  2201. Rotate                  axis-pair to rotate around/disable rotating
  2202. Alpha                   first rotation angle
  2203. Beta                    second rotation angle
  2204. Light                   toggle light on/off
  2205. LightX, LightY, LightZ  light-position
  2206. Intensity               light-intensity
  2207. Ambient                 ambient intensity
  2208. Hardness                specular intensity
  2209. Frame                   current frame
  2210. Frames                  number of frame describing a full cycle
  2211. Amplitude               wave-amplitude
  2212. Wavelength              wavelength
  2213. Phase                   phase in degrees
  2214. Axis                    direction of propagation:
  2215.                          "X" : parallel to the x-axis
  2216.                          "Y" : parallel to the y-axis
  2217.                          "XY": radial propagation
  2218. OriginX, OriginY        position of the wave-source
  2219. Damping                 toggle damping on/off
  2220. Damping                 damping-value
  2221. To speed up the generation of previews modify the "3DQuant"-parameter
  2222. in the @{"Processor-Window" link ProcessorWindow}.
  2223. @endnode
  2224. @node opWrap
  2225. @{b}Wrap-Operator@{ub}
  2226. This operator wraps an image onto a sphere or a tube. An unique
  2227. feature is the deformation of "unwrapped" portions of the image
  2228. in "RADIUS"-mode.
  2229. @{b}Parameters@{ub}
  2230. Input                   input buffer
  2231. Ouput                   output buffer
  2232. Zoom                    zoom factor for the whole image
  2233. CentreX, CentreY        centre for zooming and rotating
  2234. CamX, CamY, CamZ        camera-position
  2235. Rotate                  axis-pair to rotate around/disable rotating
  2236. Alpha                   first rotation angle
  2237. Beta                    second rotation angle
  2238. Light                   toggle light on/off
  2239. LightX, LightY, LightZ  light-position
  2240. Intensity               light-intensity
  2241. Ambient                 ambient intensity
  2242. Hardness                specular intensity
  2243. Axis                    wrap axis:
  2244.                          "X" : wrap the image onto a tube along the x-axis
  2245.                          "Y" : wrap the image onto a tube along the y-axis
  2246.                          "XY": wrap the image onto a sphere
  2247. OriginX,OriginY         origin of the sphere/tube
  2248. Amount                  wrap-amount
  2249. Radius                  sphere/tube-radius
  2250. Method                  method usedfor wrapping:
  2251.                          "RADIUS": create a sphere/tube of the radius
  2252.                                    specified, wrap the image onto it and
  2253.                                    deform the unwrapped portions according
  2254.                                    to the shape
  2255.                          "AMOUNT": create a sphere/tube to fit the whole
  2256.                                    wrapped image, the specified amount-value
  2257.                                    specifies the amount of wrapping in percent
  2258. To speed up the generation of preview modify the "3DQuant"-parameter
  2259. in the @{"Processor-Window" link ProcessorWindow}.
  2260. @endnode
  2261. @node opARexx
  2262. @{b}ARexx-Operator@{ub}
  2263. This operator makes it possible to exchange images with other applications.
  2264. The basic concept is to produce an ARexx-script which causes the application
  2265. to load, process and save a temperary image created by Wildfire.
  2266. @{b}Parameters@{ub}
  2267. Input         input buffer
  2268. Ouput         output buffer
  2269. Port          ARexx-port of the application
  2270. Temp-File     path for the temperorary image to be created
  2271. Add           add a line to the ARexx-script
  2272. Kill          kill the selected line
  2273. Up            move the selected line up
  2274. Down          move the selected line down
  2275. Clear         clear the whole script
  2276. Add Variable  add a variable-entry to the selected line
  2277. Import        load a previously saved script
  2278. Export        save the current script to disk
  2279. A "normal" script should contain of the three parts:
  2280.  -loading of the temporary image created by Wildfire
  2281.  -processing of this image
  2282.  -saving of the result
  2283. The 3rd part is the only important.
  2284. Every line of the script has to be entered in the format of
  2285. a C-printf-command. This allows one to use Envelopes in
  2286. such an ARexx-script.
  2287. The basic syntax is as follows:  "<formatstring>",arguments
  2288. (The enclosing '"'-characters are important.)
  2289. Three formats are supported:
  2290.  "%s" - for strings
  2291.  "%d" - for integer parameters
  2292.  "%f" - for float parameters
  2293. The number of format-specifiers must be always equal to the number
  2294. of arguments. Any special formats-strings like "%.4lf" are
  2295. not supported.
  2296. Examples:
  2297.  line to be entered:                 line generated by Wildfire:
  2298.   "integer: %d",10.3                  integer: 10
  2299.   "float: %f",10.3                    float: 10.3
  2300.   "i: %d, f: %f, s: '%s'",4,3,str     i: 4, f: 3.0, s: 'str'
  2301. To use an Envelope simply enter it's name as argument, rounding
  2302. is performed if you specify "%d" as corresponding formatstring.
  2303. The filename of the temporary image can be omitted using
  2304. the predefined argument "tempfile".
  2305. Now let's create a working example. Assume you want to have
  2306. ADPro to halve your images and to apply and Antique-effect
  2307. to the result.
  2308. At first you have to set the path of your application (which
  2309. will be started automatically if it's port cannot be located)
  2310. from within the @{" Preferences-Window " link PreferencesWindow}.
  2311. After that you have to specify the portname, in this case "ADPro".
  2312. At first entry in the script you should specify ADPro's default Loader:
  2313.  "lformat "universal""
  2314. Now the image can be loaded
  2315.  "load '%s'",tempfile
  2316. Apply the effects:
  2317.  "operator halve"
  2318.  "operator antique"
  2319. Specify the the Saver to use:
  2320. "sformat "iff""
  2321. Save the image:
  2322.  "save '%s' raw",tempfile
  2323. That's all. Now you should save the this script
  2324.  "lformat "universal""
  2325.  "load '%s'",tempfile
  2326.  "operator halve"
  2327.  "operator antique"
  2328.  "sformat "iff""
  2329.  "save '%s' raw",tempfile
  2330. as "reference-script". For further purposes only the "operator"-lines
  2331. have to be replaced.
  2332. @endnode
  2333. @node opComment
  2334. @{b}Comment-Operator@{ub}
  2335. This operator simply allows you to add comments to the Processor-script.
  2336. @{b}Parameters@{ub}
  2337. String     the comment
  2338. @endnode
  2339. @node opExample
  2340. @{b}Example-Operator@{ub}
  2341. This operator acts as an example for the developer-kit.
  2342. It turns all pixels which have a brighness larger tha a specified
  2343. value into grayscale.
  2344. @{b}Parameters@{ub}
  2345. Input         input buffer
  2346. Ouput         output buffer
  2347. Switch1       not used
  2348. Switch2       not used
  2349. IntVal1       not used
  2350. IntVal2       grayscale-level
  2351. FloatVal1     not used
  2352. FloatVal2     not used
  2353. @endnode
  2354. @node opRaster
  2355. @{b}Raster-Operator@{ub}
  2356. This operator applies a black raster to an image. The main
  2357. purpose of this PlugIn is to reduce the size of delta-compressed
  2358. animations without loosing too much details.
  2359. @{b}Parameters@{ub}
  2360. Input         input buffer
  2361. Ouput         output buffer
  2362. @endnode
  2363. @node opText
  2364. @{b}Text-Operator@{ub}
  2365. This operator renders text in various styles. Unlike to other programs
  2366. whole text-files can be used and edited.
  2367. @{b}Parameters@{ub}
  2368. Ouput                       output buffer
  2369. Style                       render-style:
  2370.                              "NORMAL ": use the font without applying
  2371.                                         any changes, this method should be
  2372.                                         selected using color-fonts
  2373.                              "OUTLINE": draw outlines of the selected font
  2374.                              "EMBOSS ": produce a threedimensional look
  2375. Adjust                      text-adjustment, this setting has only an effect
  2376.                             plotting more than one line of text
  2377. Red, Green, Blue            text-color
  2378. BGRed, BGGreen, BGBlue      background-color
  2379. Strength                    thickness of the outline drawed around the
  2380.                             text in "OUTLINE"- and "EMBOSS"-mode
  2381. Intensity                   light-intensity
  2382. LightX, LightY, LightZ      light-position
  2383. HSkip                       additional space between two lines
  2384. Select Font                 select the font to use for all lines
  2385. Add                         add a line of text
  2386. Kill                        delete the selected line
  2387. Up                          move the selected line up
  2388. Down                        move the selected line down
  2389. Clear                       clear all lines of text
  2390. Import                      import text from a file
  2391. Export                      save the current text to disk
  2392. @endnode
  2393. @NODE beispiele "5. Examples"
  2394. @{b}5. Examples
  2395. -----------------------------------------------------------------@{ub}
  2396.  (i) An animation will be displayed in negative colors and a smaller
  2397.      version of the anim will be placed in the right colors over
  2398.      the `negative` animation
  2399.      Schema:
  2400.       *STREAM to negativ and save to TEMP1
  2401.       *STREAM to halve and save to STREAM
  2402.       *Compose TEMP1 as background and STREAM as foreground
  2403.        and save to STREAM
  2404.      ARexx-Program:
  2405.       pc_add negative stream temp1
  2406.       pc_add scale stream stream width/2 height/2
  2407.       pc_add compose width/3 height/3 100 temp1 stream stream none
  2408.      NOTE:
  2409.     *The ARexx-notation is very useful. So you can take the examples
  2410.      as macros and you`ll learn how to use the ARexx port of Wildfire,
  2411.      too.
  2412.     *Of course you should try out the examples inside the program,
  2413.      first. Just start @{" WILDFIRE " link WildFire.guide/MAIN}, klick on the PROCESSOR-GADGET,
  2414.      and push the ADD BUTTON. Doubleclick on NEGATIVE and doubleclick
  2415.      on the NEGATIVE entry in the scrip. Now you can select as TEMP1 as 
  2416.      output. Do the needed things for the other 2 commands, too.
  2417.     *width and height are the height and the width of the animation or
  2418.      the single-pictures. With the ARexx commands "T_ANIMINFO" or
  2419.      "T_PICINFO" you can get the needed details.
  2420.  (ii) An animation will be placed on a colored background using a white
  2421.       border with shadow.
  2422.       Schema:
  2423.     *create a colored background with width+80 and height+80 in 
  2424.      "TEMP1"
  2425.     *create a white picture with width+20 and height+20 in "TEMP2"
  2426.      the border-size is 10 pixels (20/2)
  2427.     *create a black picture with width+20 and height+20 in "TEMP3"
  2428.      the border-size is 10 pixels, too
  2429.     *place the black picture on the colored background with offset
  2430.      40x40 pixels
  2431.     *place the white picture on the colored background (now with
  2432.      the black picture on it) with offset 30x30
  2433.     *all these things you have to do ONLY 1 time, the result-picture
  2434.      will be saved to buffer "TEMP1" and will NOT be changed anymore!
  2435.      So we can tell @{" Wildfire " link WildFire.guide/MAIN} that it has to do this
  2436.       effect only for the first frame!
  2437.     *every picture from the animation will be placed with
  2438.      offset 40x40 on the created colored picture with black and white
  2439.      border.
  2440.       ARexx-Programm:
  2441.        /* create background and save to TEMP1  */
  2442.        pc_add createimage temp1 width+80 height+80 255 0 0  255 255 0  0 255 0  0 0 255
  2443.        pc_add createimage temp2 width+20 height+20 255 255 255  255 255 255  255 255 255  255 255 255
  2444.        pc_add createimage temp3 width+20 height+20 0 0 0  0 0 0  0 0 0  0 0 0
  2445.        pc_add compose 40 40 100 temp1 temp3 temp1 none
  2446.        pc_add compose 30 30 100 temp1 temp2 temp1 none
  2447.        /* only do this operations at frame 1 */
  2448.        pc_select createimage 1
  2449.        pc_to 1
  2450.        pc_select createimage 2
  2451.        pc_to 1
  2452.        pc_select createimage 3
  2453.        pc_to 1
  2454.        pc_select compose 1
  2455.        pc_to 1
  2456.        pc_select compose 2
  2457.        pc_to 1
  2458.        /* compose STREAM with TEMP1 for every animation-picture */
  2459.        pc_add compose 40 40 100 temp1 stream stream none
  2460. @ENDNODE
  2461. @remark /*************************************************************/
  2462. @remark /*
  2463. @remark                            Developer
  2464. @remark */
  2465. @remark /*************************************************************/
  2466. @node Developer
  2467. If you are interested in developing addional PlugIns (savers,
  2468. operators or general PlugIns) for Wildfire please contact
  2469. the author at "epgbc@cluster1.urz.Uni-Halle.DE".
  2470. If there are at leat 10 requests I will start to create
  2471. a developer-kit including working examples.
  2472. @endnode
  2473. @remark /*************************************************************/
  2474. @remark /*
  2475. @remark                            ARexx
  2476. @remark */
  2477. @remark /*************************************************************/
  2478. @node ARexx
  2479. @{b}The ARexx-port@{ub}
  2480. The ARexx-port is another powerful feature of WildFire which
  2481. allows you
  2482.   -to use all features from within other programs
  2483.   -to enhance the GUI with your own windows without
  2484.   -to write own ARexx-applications which operate like the program itself
  2485. Example: You have designed a nice special effect like a transition
  2486.          between three animations or whatever. Now you want to integrate
  2487.          this nice feature into Wildfire as a "natural feature".
  2488.          This is easy ! All you have to do is to design a so-called
  2489.          "Custom-window" with buttons, string-gadgets, switches, ...
  2490.          and to write the procedure itself.
  2491. @{b}Topics:@{ub}
  2492.  @{" Usage          " LINK ARexxUsage}
  2493.  @{" Error-Messages " LINK ARexxErrors}
  2494.  @{" Custom-windows " LINK ARexxCWindows}
  2495.  @{" Commands       " LINK ARexxCommands}
  2496. @endnode
  2497. @node ARexxUsage
  2498. The name of the ARexx-port is equal to the name of the publicscreen
  2499. opened by Wildfire.
  2500. For the first running copy of the programm the port is named "Wildfire",
  2501. for the second "Wildfire.1" and so on.
  2502. I don't think that's very usefull to run more copies at one time -
  2503. but it's possible.
  2504. The command-hierarchy is equal to the window-hierarchy.
  2505. This makes it very easy for you to find out the right name
  2506. for a particular command.
  2507. Every command consists of the hierarchy-identifier and
  2508. the function-name, e.g. the "Play"-button of the Player-window
  2509. is named "P_PLAY".
  2510. Most of the arguments are strings or integer-values. It's recommended
  2511. to enclose strings into "'"-characters otherwise they are converted
  2512. to uppercase by the ARexx-system.
  2513. There are three ways to invoke ARexx-commands:
  2514.  1. scripts
  2515.   1a) called as macros from Wildfire after pressing one of the function-keys
  2516.   1b) started from a shell
  2517.  2. direct commands
  2518.  3. external programs
  2519. Direct commands are nice to try out a special command, e.g., if you
  2520. want to check out the "PL_APPENDDIR"-command you may type in a shell-
  2521. window:
  2522.  rx "address 'Wildfire'
  2523. pl_appenddir 'data:grafix/frames'"
  2524. Another way to test single commands is to use the "Command"-PlugIn.
  2525. An input string
  2526.  "pl_appenddir 'data:grafix/frames'"
  2527. would cause the same result as the example shown above.
  2528. The advantage of the use of the Command-PlugIn is the fact that it's
  2529. faster because it doesn't use ARexx and displays the results
  2530. of the in the same window. (ARexx-errors sometimes are cryptic.)
  2531. @endnode
  2532. @node ARexxCWindows
  2533. Custom-windows are another powerful feature of Wildfire.
  2534. You can create as much own windows as you want, they can
  2535. be loaded, saved, opened, closed, deleted, ... at any time.
  2536. So it's possible to create Toolmanager-like docks on the
  2537. Wildfire-screen which can be loaded at startup.
  2538. But the main purpose is to give you the possibility to enhance
  2539. the program easily and to fit it to your needs.
  2540. Window-elements
  2541. -------------------------------------------------------------------
  2542. Custom windows can contain
  2543.   -buttons
  2544.   -string-gadgets
  2545.   -switches
  2546.   -lines
  2547.   -boxes and
  2548.   -texts.
  2549. All these elements remain to the window as long as you
  2550. don't kill them.
  2551. But you have the possibility to apply graphical elements
  2552. which are not stored as structures to the window.
  2553. So you could create an own progress-bar or a function-plotter..
  2554. Attention:
  2555. If you want to have spaces in you window- or gadget-names
  2556. you have to use a special character (code 160).
  2557. (This restriction is due the command-parsing.)
  2558. Example:
  2559. space='a0'x
  2560. wnd="Transition.rexx" || space || "V0.3"
  2561. Window-coordinates
  2562. -------------------------------------------------------------------
  2563. Because Wildfire has a fontsensitve GUI you can't use absolute
  2564. coordinates to specify window-elements.
  2565. So you have to design your windows using a topaz.8-font
  2566. to ensure that they look perfect for example with a times.24-font.
  2567. If you want to design a very difficult window with 500
  2568. gadgets, 300 bevelboxes, ... it's seems to be no bad idea
  2569. to use GadToolsBox
  2570. . Using this nice program you can drag and
  2571. size your gadgets in an easy way - just take down the coordinates
  2572. after finishing it.
  2573. A simple example
  2574. -------------------------------------------------------------------
  2575. The following example called "ConvertPics.rexx" opens a window
  2576. which lets you specify a range of your current picture-list
  2577. and has a "Convert"-button. This makes is possible to
  2578. convert only a small part of the picture-list which is
  2579. very usefull if you want to test a very complex process.
  2580. 1. Program-structure
  2581.     (i) create the window, initialize the parameters
  2582.     (ii) perform an endless loop receiving messages:
  2583.           1. check for pressed gadgets
  2584.               -> start filerequester, read gadget-contents
  2585.           2. check for the closegadget
  2586.               -> exit
  2587.           3. check for the start-button
  2588.               -> check the parameters
  2589.               -> do it
  2590. 2. Program
  2591.     /* Are we right ? */
  2592.     if ~show('P','Wildfire') then do
  2593.      say " Error: The Wildfire-program must be started before executing this script."
  2594.      exit
  2595.     end
  2596.     /* Initialize the global variables */
  2597.     address "Wildfire"
  2598.     options results
  2599.     wnd="Convert"
  2600.     from=1
  2601.     to=1
  2602.     /* Create the window */
  2603.     cw_kill wnd
  2604.     cw_add wnd 309 70
  2605.     /* Create the Gadget */
  2606.     cw_addgadget wnd string 202 11 84 "From"
  2607.     cw_addgadget wnd string 202 27 84 "To"
  2608.     cw_addgadget wnd button 25 46 261 "Convert"
  2609.     /* It's important to open the window before setting the gadgets */
  2610.     cw_open wnd
  2611.     cw_setgadget wnd "From" from
  2612.     cw_setgadget wnd "To" to
  2613.     /* main loop */
  2614.     do forever
  2615.      /* check if the window is still open */
  2616.      cw_isopen wnd
  2617.      qt=result
  2618.      /* no: leave the script */
  2619.      if qt=0 then call cleanup
  2620.      /* wait for gadgets */
  2621.      cw_wait wnd
  2622.      gadget=result
  2623.      /* which gadget was pressed */
  2624.      if gadget="From" then do
  2625.       /* get the "from"-value from the gadget */
  2626.       cw_getgadget wnd "From"
  2627.       from=result
  2628.      end
  2629.      else if gadget="To" then do
  2630.       /* get the "to"-value from the gadget */
  2631.       cw_getgadget wnd "To"
  2632.       to=result
  2633.      end
  2634.      else if gadget="Convert" then do
  2635.       /* now let's do it */
  2636.       c_convertpics from to
  2637.      end
  2638.     end
  2639.     cleanup:
  2640.     cw_kill wnd
  2641.     exit
  2642.  GadToolsBox is Copyright 
  2643.  1991-93 Jaba Development
  2644. @endnode
  2645. @node ARexxErrors
  2646. There are 4 error-messages which will be shown together
  2647. with the command in the default CON:-window:
  2648.  1: wrong number of arguments
  2649.  2: wrong arguments
  2650.  3: unknown command
  2651.  4: command failed
  2652. Most of the commands are valid everywhere, but there are exeptions,
  2653. e.g. if you haven't defined any variable you can't open
  2654. the envelope-window. This would cause error 4.
  2655. Normally you can access all program functions without opening
  2656. any of the windows, but there are the following exceptions:
  2657.  -Timecodes-, AnimInfo-, Envelope- and EnvelopeAdvanced-commands
  2658.   require that the corresponding Window was opened
  2659.   (This is due the internal data-structure and no error or
  2660.    similar.)
  2661. If the program executes an ARexx-command all requesters
  2662. except the one invoked by the "M_MESSAGE"-command are
  2663. turned off, but the requester-messages are shown in the
  2664. Log-Window.
  2665. @endnode
  2666. @node ARexxCommands
  2667. The command-list below shows all available commands,
  2668. values enclosed into brackes are alternative keywords.
  2669.  Main:
  2670.   M_EXIT
  2671.   M_WAIT secs
  2672.   M_MESSAGE text
  2673.   M_REQUEST text (res=0: o.k.)
  2674.   M_OPENCONVERTER
  2675.   M_CLOSECONVERTER
  2676.   M_OPENPROCESSOR
  2677.   M_CLOSEPROCESSOR
  2678.   M_OPENEDITOR
  2679.   M_CLOSEEDITOR
  2680.   M_OPENPLAYER
  2681.   M_CLOSEPLAYER
  2682.   M_OPENPREFS
  2683.   M_CLOSEPREFS
  2684.   M_OPENINFO
  2685.   M_CLOSEINFO
  2686.   M_MOVE x y
  2687.   M_TOFRONT
  2688.   M_TOBACK
  2689.   M_OPENTMAKER
  2690.   M_CLOSETMAKER
  2691.   M_OPENIMOPTIONS
  2692.   M_CLOSEIMOPTIONS
  2693.   M_ADDICON file
  2694.   M_CLEANUP
  2695.   M_LOAD
  2696.   M_SAVE
  2697. Tools:
  2698.   T_DELPICTURELIST
  2699.   T_GETNUMBER title [preset]
  2700.   T_GETSTRING title [preset]
  2701.   T_GETFILE title [preset]
  2702.   T_GETDRAWER titlee [preset]
  2703.   T_ANIMINFO name (0=o.k.)
  2704.   T_PICINFO name (0=o.k.)
  2705.   T_GETWIDTH
  2706.   T_GETHEIGHT
  2707.   T_GETDEPTH
  2708.   T_GETCOLORS
  2709.   T_GETFRAMES
  2710.   T_GETANIMDRAWER
  2711.   T_GETPICDRAWER
  2712.   T_GETMODDRAWER
  2713.   T_GETROOTDRAWER
  2714.   T_PEXTENSION extension
  2715.   T_REQSTATUS (ON|OFF)
  2716.  Prefs:
  2717.   PR_PLAYERSCREEN name
  2718.   PR_SCREENMODE id width height depth
  2719.   PR_SCREENDEPTH depth
  2720.   PR_LOADPREFS
  2721.   PR_SAVEPREFS
  2722.   PR_OPENPATHS
  2723.   PR_CLOSEPATHS
  2724.   PR_OPENMACROS
  2725.   PR_CLOSEMACROS
  2726.   PR_DCLICKTIME val
  2727.   PR_STATISTICS (ON|OFF)
  2728.   PR_EXPERTMODE (ON|OFF)
  2729.   PR_BRUTALBLIT (ON|OFF)
  2730.   PR_MOVE x y
  2731.  Paths:
  2732.   PT_ANIMATIONDRAWER name
  2733.   PT_PICTUREDRAWER name
  2734.   PT_SOUNDDRAWER name
  2735.   PT_ROOTDRAWER name
  2736.   PT_YAFAPLAYER name
  2737.   PT_ANIMPLAYER name
  2738.   PT_MPEGPLAYER name
  2739.   PT_VIEWER name
  2740.   PT_MOVE x y
  2741.  Info:
  2742.   I_FREEMEM
  2743.   I_MOVE x y
  2744.  Text:
  2745.   TXT_TEXT file
  2746.   TXT_TEXTNC file
  2747.   TXT_MOVE x y
  2748.   TXT_CLOSE
  2749.   TXT_WAIT
  2750.   TXT_CENTRE
  2751.  Player:
  2752.   P_FILE [name]
  2753.   P_BUFFERS num
  2754.   P_ABUFFER num
  2755.   P_DISPLAY (NORMAL|ZOOMED|DITHERED)
  2756.   P_CACHING (ON|OFF)
  2757.   P_OUTPUT (HARDWARE|WINDOW|BGWINDOW|SCREEN)
  2758.   P_WAIT (ON|OFF)
  2759.   P_PLAY [from to]
  2760.   P_MOVE x y
  2761.   P_OPENANIMINFO
  2762.   P_CLOSEANIMINFO
  2763.   P_OPENTIMECODES
  2764.   P_CLOSETIMECODES
  2765.  AnimInfo:
  2766.   AI_MOVE x y
  2767.   AI_EXPORT name
  2768.   AI_IMPORT num
  2769.  Timecodes:
  2770.   TC_RANGE from to step
  2771.   TC_IMPORT name
  2772.   TC_EXPORT name
  2773.   TC_TIMERANGE num
  2774.   TC_MOVE x y
  2775.  Editor:
  2776.   E_AADD name
  2777.   E_AKILL
  2778.   E_AREPLACE name
  2779.   E_AINFO
  2780.   E_ASELECT name
  2781.   E_ASELECTNEXT
  2782.   E_ASELECTPREV
  2783.   E_AFROM from
  2784.   E_ATO to
  2785.   E_AUP
  2786.   E_ADOWN
  2787.   E_MADD name (MODULE|SAMPLE|EXECUTABLE)
  2788.   E_MKILL
  2789.   E_MREPLACE name
  2790.   E_MEDIT
  2791.   E_MSELECT name
  2792.   E_MSELECTNEXT
  2793.   E_MSELECTPREV
  2794.   E_MUP
  2795.   E_MDOWN
  2796.   E_OPENPROFILE
  2797.   E_CLOSEPROFILE
  2798.   E_OPENFILMCONTROL
  2799.   E_CLOSEFILMCONTROL
  2800.   E_PLAYALL
  2801.   E_PLAYSEL
  2802.   E_SAVEALL
  2803.   E_FILENAME [name]
  2804.   E_CLEAR
  2805.   E_EXPORT
  2806.   E_LOAD
  2807.   E_SAVE
  2808.   E_INSERT file
  2809.   E_APPEND file
  2810.   E_MOVE x y
  2811.  EditorAnimInfo:
  2812.   EAI_DISPLAY (NORMAL|ZOOMED|DITHERED)
  2813.   EAI_CACHING (ON|OFF)
  2814.   EAI_BUFFERS num
  2815.   EAI_ABUFFER num
  2816.   EAI_SPEED num
  2817.   EAI_MOVE x y
  2818.   EAI_CLOSE
  2819.  ModuleOptions:
  2820.   MO_TEST
  2821.   MO_STOP
  2822.   MO_CLOSE
  2823.   MO_MOVE x y
  2824.  SampleOptions:
  2825.   SO_TEST
  2826.   SO_STOP
  2827.   SO_CHANNEL (LEFT0|RIGHT0|LEFT1|RIGHT1)
  2828.   SO_REPEAT num
  2829.   SO_VOLUME num
  2830.   SO_CLOSE
  2831.   SO_MOVE x y
  2832.  CommandOptions:
  2833.   CO_TEST
  2834.   CO_CLOSE
  2835.   CO_MOVE x y
  2836.  Processor:
  2837.   PC_ADD type [options]
  2838.     SCALE in out width height [(PIXELS|PERCENT) (IGNORE|TAKEWIDTH|TAKEHEIGHT)]
  2839.     CROP in out left top width height
  2840.     ALPHA in alpha out left top
  2841.     COMPOSE left top mix back=(STREAM|TEMPx) fore=(STREAM|TEMPx) dest=(STREAM|TEMPx) (NONE|COLOR|INRANGE|OUTRANGE) [red1 green1 blue1 [red2 green2 blue2]]
  2842.     BALANCING in out red green blue bright contrast gamma
  2843.     DISPLACE in out radius probability seed
  2844.     ROTATE in out centreX centreY radius amount zoom
  2845.     NEGATIVE in out
  2846.     COLORTOGRAY in out (AVERAGE|LUMINANCE|CUSTOM) [red] [green] [blue]
  2847.     SHIFTLINES in out (HORIZONTAL|VERTICAL) shift [(NORMAL|POSITIVE|NEGTIVE) amount probability seed]
  2848.     SAVETEMP buffer
  2849.     LOADTEMP buffer
  2850.     KILLTEMP buffer
  2851.     LOADIMAGE out sequence repeat shift
  2852.     CREATEIMAGE out width height [red0 green0 blue0 ... red3 green3 blue3]
  2853.     PIXELIZE in out width height (ON|OFF) [(XY|X|Y) size red green blue dLeft dRight dTop dBottom]
  2854.     CONVOLVE in out mix shift (file|matrix)
  2855.     TWIRL in out (IN|OUT) centreX centreY radius amount power zoom
  2856.     PERSPECTIVE in out centreX centreY alpha beta (XY|YZ|ZX) camX camY camZ zoom [lightX lightY lightZ dimish]
  2857.     BUMP in heightMap out left top amount lightX lightY lightZ intensity
  2858.     TEXT out red green blue bgRed bgGreen bgBlue (NORMAL|OUTLINE|EMBOSS) (LEFT|RIGHT|CENTERED) hSkip font fontSize italic bold underline color textFile [strength [lightX lightY lightZ intensity]]
  2859.     ANTIQUE in out
  2860.     HALVE in out
  2861.     FLIP in out (X|Y|XY)
  2862.     MOTIONBLUR in out deltaX deltaY
  2863.     ROTATEBLUR in out centreX centreY amount radius
  2864.     BLACKHOLE in out centreX centreY amount radius
  2865.     MAGNET in out centreX centreY amount damping
  2866.     WAVE in out centreX centreY (X|Y) frames frame zoom damping (ON|OFF) amplitude wavelength phase shift
  2867.     AREXX in out port tempfile script
  2868.     COMMENT [string]
  2869.     PLASMA out width height dimension seed
  2870.     EMBOSS in out direction
  2871.     REPLACECOMP in1 in2 out (RED|GREEN|BLUE)
  2872.     OILTRANSFER in out rect
  2873.     MEDIANFILTER in out rect
  2874.     ADD in1 in2 out (ADD|SUBTRACT)
  2875.     RASTER in out
  2876.     SWAPRGB in out (RBG|GRB|GBR|BRG|BGR)
  2877.     NOISE in out intensity probability seed
  2878.     POSTERISE in out bits
  2879.     ROLL in out deltaX deltaY (ON|OFF)
  2880.     CARTESIAN2POLAR in out r0 phi0
  2881.     CUBE in out centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (ON|OFF) lightX lightY lightZ intensity hardness ambient size
  2882.     WRAP in out centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (ON|OFF) lightX lightY lightZ intensity hardness ambient (RADIUS|AMOUNT) radius amount (X|Y|XY)
  2883.     WATER in out centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (ON|OFF) lightX lightY lightZ intensity hardness ambient frames frame originX originY times rings amplitude wavelength (ON|OFF) damping
  2884.     WAVE3D in out centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (ON|OFF) lightX lightY lightZ intensity hardness ambient frames frame (X|Y|XY) originX originY amplitude wavelength phase (ON|OFF) damping
  2885.     THRESHOLD in out level
  2886.     SHEAR in out originX originY amount (X|Y) zoom damping (ON|OFF)
  2887.     LWOB out centreX centreY zoom (XY|YZ|XZ|NONE) alpha beta camX camY camZ (ON|OFF) lightX lightY lightZ intensity hardness ambient file width height
  2888.   PC_KILL
  2889.   PC_CLEAR
  2890.   PC_SELECT type [which]
  2891.   PC_UP
  2892.   PC_DOWN
  2893.   PC_FROM num
  2894.   PC_TO num
  2895.   PC_STEP num
  2896.   PC_OPENEDIT
  2897.   PC_MOVEEDIT x y
  2898.   PC_CLOSEEDIT
  2899.   PC_MODE (COLOR|HAM6|HAM8)
  2900.   PC_DITHER (NONE|FS)
  2901.   PC_SMOOTHING (ON|OFF)
  2902.   PC_DEPTH num
  2903.   PC_CSKIP num
  2904.   PC_FILENAME [name]
  2905.   PC_LOAD
  2906.   PC_SAVE
  2907.   PC_OPENPCSINGLEPICTURE
  2908.   PC_CLOSEPCSINGLEPICTURE
  2909.   PC_OPENVARIABLES
  2910.   PC_CLOSEVARIABLES
  2911.   PC_OPENPALETTE
  2912.   PC_CLOSEPALETTE
  2913.   PC_MOVE
  2914.  Variables:
  2915.   V_ADD name
  2916.   V_SELECT name
  2917.   V_KILL
  2918.   V_RENAME
  2919.   V_SELECT name
  2920.   V_ENVELOPE
  2921.   V_FILENAME
  2922.   V_SAVE
  2923.   V_LOAD
  2924.   V_CLEAR
  2925.   V_MOVE
  2926.  Envelope:
  2927.   EV_XRANGE xmin xmax
  2928.   EV_YRANGE ymin ymax
  2929.   EV_VIEWALL
  2930.   EV_SCROLLUP
  2931.   EV_SCROLLDOWN
  2932.   EV_SCROLLLEFT
  2933.   EV_SCROLLRIGHT
  2934.   EV_SELECT num
  2935.   EV_SELECTNEXT
  2936.   EV_SELECTPREV
  2937.   EV_KILL
  2938.   EV_ADD xval yval
  2939.   EV_MOVE xval yval
  2940.   EV_DRAG xval yval steps
  2941.   EV_LOAD name
  2942.   EV_SAVE name
  2943.   EV_INTERPOLATION (SPLINE|BEZIER|LINEAR)
  2944.   EV_USE
  2945.   EV_CANCEL
  2946.   EV_OPENADVANCED
  2947.   EV_MOVE
  2948.  SinglePicture:
  2949.   PCS_INPUT name
  2950.   PCS_OUTPUT name
  2951.   PCS_TEST [time]
  2952.   PCS_SAVE
  2953.   PCS_SAVERENDERED
  2954.   PCS_APPLYDIMENSIONS
  2955.   PCS_FRAME num
  2956.   PCS_MOVE
  2957.   PCS_SCREENMODE id
  2958.   PCS_PREVIEWWIDTH val
  2959.   PCS_PREVIEWDEPTH val
  2960.   PCS_PREVIEW (ENABLED|DISABLED)
  2961.  EnvelopeAdvanced:
  2962.   EVA_RANGE from to step
  2963.   EVA_SCALE
  2964.   EVA_SHIFT
  2965.   EVA_LOADCURVE name
  2966.   EVA_SAVECURVE name
  2967.   EVA_LOADTIMECODES
  2968.   EVA_SAVETIMECODES
  2969.   EVA_XVAL val
  2970.   EVA_YVAL val
  2971.   EVA_CLOSE
  2972.   EVA_MOVE
  2973.  Converter:
  2974.   C_INPUTTYPE (ANIMATION|YAFAANIM|BLACKFRAMES)
  2975.   C_INPUTEXPORT
  2976.   C_INPUTFILENAME name
  2977.   C_OUTPUTTYPE (PICTURES|YAFAANIM|IFFANIM|NONE)
  2978.   C_OUTPUTEXPORT
  2979.   C_OUTPUTFILENAME name
  2980.   C_ANNOTATION (ON|OFF)
  2981.   C_ANNOFILENAME [name]
  2982.   C_ANNOSTRING [string]
  2983.   C_LOADSESSION
  2984.   C_SAVESESSION
  2985.   C_CONVERT
  2986.   C_CONVERTPICS first last
  2987.   C_OPENINPUTOPTIONS
  2988.   C_OPENOUTPUTOPTIONS
  2989.   C_CLOSEINPUTOPTIONS
  2990.   C_CLOSEOUTPUTOPTIONS
  2991.   C_PREVIEW (NONE|WINDOW|SCREEN)
  2992.   C_PROCESSOR (ENABLED|DISABLED)
  2993.   C_MOVE
  2994.  YAFAOptions:
  2995.   YO_IMAGEDATA (RAW|CHUNKY)
  2996.   YO_DELTA (NONE|BYTE|WORD|LONG|BYTEBR|WORDBR|LONGBR)
  2997.   YO_COMPRESSION (NONE|XPK)
  2998.   YO_COMPRESSOR name
  2999.   YO_MODE mode
  3000.   YO_COLORMAP (UNLOCKED|LOCKED)
  3001.   YO_SPEED num
  3002.   YO_FORCETIMECODES (ON|OFF)
  3003.   YO_OPENANALYSIS
  3004.   YO_MOVE
  3005.   YO_APPLY name
  3006.  Analysis:
  3007.   A_FRAMES num
  3008.   A_TEST
  3009.   A_USE
  3010.   A_CANCEL
  3011.   A_MOVE
  3012.  ANIMOptions:
  3013.   AO_TYPE (ANIM5|ANIM7S|ANIM7L)
  3014.   AO_COLORMAP (UNLOCKED|LOCKED)
  3015.   AO_SCREENMODE mode
  3016.   AO_MOVE
  3017.  PictureOptions:
  3018.   PO_BASENAME name
  3019.   PO_SCREENMODE mode
  3020.   PO_SHIFT num
  3021.   PO_MOVE
  3022.   PO_TYPE (RENDERED|TRUECOLOR)
  3023.  CreateFrames:
  3024.   CF_WIDTH num
  3025.   CF_HEIGHT num
  3026.   CF_FRAMES num
  3027.  PictureList:
  3028.   PL_INSERT names
  3029.   PL_APPEND names
  3030.   PL_INSERTDIR name
  3031.   PL_APPENDDIR name
  3032.   PL_DUPLICATE times
  3033.   PL_SORT
  3034.   PL_CHECK
  3035.   PL_RANGE from to step
  3036.   PL_REMOVERANGE
  3037.   PL_TIMERANGE num
  3038.   PL_SHOW
  3039.   PL_SELECT name [which]
  3040.   PL_SELECTNEXT
  3041.   PL_SELECTPREV
  3042.   PL_OPENPICTUREINFO
  3043.   PL_CLOSEPICTUREINFO
  3044.   PL_MOVE
  3045.  Custom-Windows:
  3046.   CW_CLOSE name
  3047.   CW_OPEN name
  3048.   CW_MOVE name x y
  3049.   CW_ADD name width height
  3050.   CW_KILL name
  3051.   CW_ADDGADGET window (STRING|BUTTON|SWITCH) left top width name [action]
  3052.   CW_GETGADGET window name
  3053.   CW_SETGADGET window name value
  3054.   CW_WAITGADGET window name
  3055.   CW_ADDTEXT window left top pen text
  3056.   CW_ADDLINE window x1 y1 x2 y2 pen
  3057.   CW_ADDRECT window left top width height pen (NORMAL|FILLED|BBOX|BBOX2)
  3058.   CW_DRAWTEXT window left top pen text
  3059.   CW_DRAWLINE window x1 y1 x2 y2 pen
  3060.   CW_DRAWRECT window left top width height pen (NORMAL|FILLED|BBOX|BBOX2)
  3061.   CW_SAVE name
  3062.   CW_LOAD name
  3063.   CW_WAIT name
  3064.   CW_ISOPEN name
  3065.  Palette:
  3066.   PP_FILENAME
  3067.   PP_LOAD
  3068.   PP_SAVE
  3069.   PP_COLOR color red green blue
  3070.   PP_STATE (ENABLED|DISABLED)
  3071.   PP_MOVE x y
  3072.  FilmStrip:
  3073.   FC_PLAY file loops rows cols [left top]
  3074.   FC_FILE file
  3075.   FC_FILMFILE file
  3076.   FC_RANGE from to step
  3077.   FC_WIDTH width
  3078.   FC_SIZE rows cols
  3079.   FC_COLOR (ORIGINAL|GRAY)
  3080.   FC_UPDATE
  3081.   FC_CLEANUP
  3082.   FC_LOAD
  3083.   FC_SAVE
  3084.   FC_CONVERT
  3085.   FC_APPEND
  3086.   FC_SCROLL val (negative->scroll left)
  3087.  CRange:
  3088.   CR_FROM num
  3089.   CR_TO num
  3090.   CR_STEP num
  3091.   CR_STATE (ENABLED|DISABLED)
  3092.  IMOptions:
  3093.   IM_RESET
  3094.   IM_FILE file
  3095.   IM_TRASHCAN (KILLICON|DELETE)
  3096.  Icon-Saver:
  3097.   IC_Image1 file
  3098.   IC_Image2 [file]
  3099.   IC_ICON file
  3100.   IC_WIDTH width
  3101.   IC_DEPTH depth
  3102.   IC_COLOR (COLOR|GRAY)
  3103.   IC_CONVERT
  3104.  TMaker:
  3105.   TM_INPUT1 file
  3106.   TM_INPUT2 file
  3107.   TM_OUTPUT file
  3108.   TM_TEMP drawer
  3109.   TM_FRAMES frames
  3110.   TM_PREVIEW (NONE|WINDOW|SCREEN)
  3111.   TM_SHOWEXAMPLE (ON|OFF)
  3112.   TM_TYPE type subtype
  3113.   TM_CREATETEMPFILES
  3114.   TM_KILLTEMPFILES
  3115.   TM_PLAY
  3116.   TM_CONVERT
  3117.   TM_CREATEEXAMPLES
  3118. @endnode
  3119. @remark /*************************************************************/
  3120. @remark /*
  3121. @remark                            Tutorials
  3122. @remark */
  3123. @remark /*************************************************************/
  3124. @node Tutorials
  3125. @endnode
  3126.